@@ -78,7 +78,6 @@ def plot_volume(
7878 fig = None
7979 if axes is None :
8080 fig , axes = plt .subplots (1 , 3 , figsize = figsize )
81- sag_axis , cor_axis , axi_axis = axes
8281
8382 if reorient :
8483 image = ToCanonical ()(image ) # type: ignore[assignment]
@@ -116,7 +115,6 @@ def plot_volume(
116115 if 'interpolation' not in imshow_kwargs :
117116 imshow_kwargs ['interpolation' ] = 'bicubic'
118117
119- sr , sa , ss = image .spacing
120118 imshow_kwargs ['origin' ] = 'lower'
121119
122120 if not is_label :
@@ -131,41 +129,40 @@ def plot_volume(
131129 imshow_kwargs ['vmin' ] = p1
132130 imshow_kwargs ['vmax' ] = p2
133131
134- sag_aspect = ss / sa
135- sag_axis .imshow (
136- slice_x ,
137- aspect = sag_aspect ,
138- ** imshow_kwargs ,
139- )
140- if xlabels :
141- sag_axis .set_xlabel ('A' )
142- sag_axis .set_ylabel ('S' )
143- sag_axis .invert_xaxis ()
144- sag_axis .set_title ('Sagittal' )
145-
146- cor_aspect = ss / sr
147- cor_axis .imshow (
148- slice_y ,
149- aspect = cor_aspect ,
150- ** imshow_kwargs ,
151- )
152- if xlabels :
153- cor_axis .set_xlabel ('R' )
154- cor_axis .set_ylabel ('S' )
155- cor_axis .invert_xaxis ()
156- cor_axis .set_title ('Coronal' )
157-
158- axi_aspect = sa / sr
159- axi_axis .imshow (
160- slice_z ,
161- aspect = axi_aspect ,
162- ** imshow_kwargs ,
163- )
164- if xlabels :
165- axi_axis .set_xlabel ('R' )
166- axi_axis .set_ylabel ('A' )
167- axi_axis .invert_xaxis ()
168- axi_axis .set_title ('Axial' )
132+ spacing_r , spacing_a , spacing_s = image .spacing
133+ sag_axis , cor_axis , axi_axis = axes
134+ slices_dict = {
135+ 'Sagittal' : {
136+ 'aspect' : spacing_s / spacing_a ,
137+ 'slice' : slice_x ,
138+ 'xlabel' : 'A' ,
139+ 'ylabel' : 'S' ,
140+ 'axis' : sag_axis ,
141+ },
142+ 'Coronal' : {
143+ 'aspect' : spacing_s / spacing_r ,
144+ 'slice' : slice_y ,
145+ 'xlabel' : 'R' ,
146+ 'ylabel' : 'S' ,
147+ 'axis' : cor_axis ,
148+ },
149+ 'Axial' : {
150+ 'aspect' : spacing_a / spacing_r ,
151+ 'slice' : slice_z ,
152+ 'xlabel' : 'R' ,
153+ 'ylabel' : 'A' ,
154+ 'axis' : axi_axis ,
155+ },
156+ }
157+
158+ for title , info in slices_dict .items ():
159+ axis = info ['axis' ]
160+ axis .imshow (info ['slice' ], aspect = info ['aspect' ], ** imshow_kwargs )
161+ if xlabels :
162+ axis .set_xlabel (info ['xlabel' ])
163+ axis .set_ylabel (info ['ylabel' ])
164+ axis .invert_xaxis ()
165+ axis .set_title (title )
169166
170167 plt .tight_layout ()
171168 if title is not None :
0 commit comments