Skip to content

Commit 8ced2d7

Browse files
Merge pull request #1391 from KrisThielemans/plot_LORs
fix plot_scanner_LOR for new SWIG etc
2 parents 0da0f08 + 35d62b0 commit 8ced2d7

1 file changed

Lines changed: 15 additions & 10 deletions

File tree

examples/python/plot_scanner_LORs.py

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,12 @@
3131

3232
# %% definition of useful objects and variables
3333

34-
scanner = stir.Scanner_get_scanner_from_name('SAFIRDualRingPrototype')
35-
scanner.set_num_transaxial_blocks_per_bucket(1)
34+
scanner = stir.Scanner.get_scanner_from_name('SAFIRDualRingPrototype')
35+
scanner.set_num_transaxial_blocks_per_bucket(2)
36+
scanner.set_transaxial_block_spacing(scanner.get_transaxial_crystal_spacing()*scanner.get_num_transaxial_crystals_per_block()*1.2)
3637
scanner.set_intrinsic_azimuthal_tilt(0)
3738
# scanner.set_num_axial_crystals_per_block(1)
38-
# scanner.set_axial_block_spacing(scanner.get_axial_crystal_spacing()*scanner.get_num_axial_crystals_per_block())
39+
scanner.set_axial_block_spacing(scanner.get_axial_crystal_spacing()*scanner.get_num_axial_crystals_per_block()*1.2)
3940
# scanner.set_num_rings(1)
4041
scanner.set_scanner_geometry("BlocksOnCylindrical")
4142
# scanner.set_up()
@@ -91,33 +92,37 @@
9192
c = next(color_v)
9293
tB_num2 = -1
9394

94-
for v in range(0, Nv, 5):
95+
for v in range(0, Nv, 1):
96+
# TODO no clue where this comes from
9597
tB_nim_i, tB_num_f = divmod(v / NtCpBl, 1)
9698
tB_num = int(tB_nim_i)
9799
bin = stir.Bin(0, v, 0, 0)
98100

99101
if tB_num > tB_num2:
100102
c = next(color_v)
101-
103+
label = "Block %s" % tB_num
104+
else:
105+
label = "_nolegend"
102106
tB_num2 = tB_num
103107
b1 = proj_data_info_blocks.find_cartesian_coordinate_of_detection_1(bin)
104108
b2 = proj_data_info_blocks.find_cartesian_coordinate_of_detection_2(bin)
105109

106110
plt.plot((b1.x(), b2.x()), (b1.y(), b2.y()), color=c)
107-
plt.plot(b1.x(), b1.y(), 'o', color=c, label="Block %s - det %s" % (tB_num, v))
111+
plt.plot(b1.x(), b1.y(), 'o', color=c, label=label)
108112

109-
# Shrink current axis %
113+
# Shrink current x-axis %
110114
box = ax.get_position()
111-
ax.set_position([box.x0 - box.y0 * 0.04, box.y0 + box.y0 * 0.01, box.width, box.height])
115+
ax.set_position([box.x0 - box.x0 * 0.04, box.y0, box.width, box.height])
112116
ax.set_aspect('equal', 'box')
113117
plt.legend(loc='best', bbox_to_anchor=(1., 1.), fancybox=True)
114-
# plt.show() #if debugging we can se how the LORs are order
118+
# plt.show() #if debugging we can see how the LORs are order
119+
# TODO no idea labels come. Probably from HFS patient?
115120
plt.gca().invert_yaxis()
116121
plt.text(-65, 65, "PL")
117122
plt.text(65, 65, "PR")
118123
plt.text(-65, -65, "AL")
119124
plt.text(65, -65, "AR")
120-
plt.savefig('2D-2BlocksPerBuckets-ObliqueAt0degrees-XY-LOR.png', format='png', dpi=300)
125+
plt.savefig(f'2D-{scanner.get_num_transaxial_blocks_per_bucket()}BlocksPerBuckets-ObliqueAt{scanner.get_intrinsic_azimuthal_tilt()/math.pi*180}degrees-XY-LOR.png', format='png', dpi=300)
121126
plt.show()
122127
plt.close()
123128

0 commit comments

Comments
 (0)