Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def sumSourceReceptor(sinograph_2d, baseimg, sourceAngle, receptors):
- source = calcCirclePoint(sourceAngle)
- for i in range(len(receptors)):
- receptor = receptors[i]
- det = calcCirclePoint(receptor)
- points = bresenhamLine(source, det)
- calcs = sumOnLine(points, baseimg)
- sinograph_2d[sourceAngle][i] = calcs
- def reproduceImage(sinograph_2d, sources, receptors, baseimg):
- canvas = createEmptyCanvas(baseimg)
- for i in range(len(sources)):
- sourceAngle = sources[i]
- source = calcCirclePoint(sourceAngle)
- for j in range(len(receptors[i])):
- receptor = receptors[i][j]
- det = calcCirclePoint(receptor)
- points = bresenhamLine(source, det)
- reproduceOnLine(points, sinograph_2d[sourceAngle, j], canvas)
- # here we have reproduced from 1 source - all receptors
- # here we have reproduced all sources - all receptors
- return canvas
- def thresholdColor(canvas, threshold=0.7, v_min=0.0, v_max=1.0):
- for x in range(len(canvas)):
- for y in range(len(canvas)):
- canvas[x,y] = v_min if canvas[x,y] <= threshold else v_max
- def reproduceOnLine(bresenhamLine,calc,canvas):
- points = len(bresenhamLine)
- color = (calc*1.0)/points
- for pair in bresenhamLine:
- canvas[pair[0],pair[1]] += color
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement