@@ -90,6 +90,8 @@ <h1>Source code for corrct.processing.post</h1><div class="highlight"><pre>
90
90
< span class ="kn "> from</ span > < span class ="nn "> matplotlib.figure</ span > < span class ="kn "> import</ span > < span class ="n "> Figure</ span >
91
91
< span class ="kn "> from</ span > < span class ="nn "> matplotlib.axes._axes</ span > < span class ="kn "> import</ span > < span class ="n "> Axes</ span >
92
92
93
+ < span class ="kn "> from</ span > < span class ="nn "> tqdm.auto</ span > < span class ="kn "> import</ span > < span class ="n "> tqdm</ span >
94
+
93
95
94
96
< span class ="n "> eps</ span > < span class ="o "> =</ span > < span class ="n "> np</ span > < span class ="o "> .</ span > < span class ="n "> finfo</ span > < span class ="p "> (</ span > < span class ="n "> np</ span > < span class ="o "> .</ span > < span class ="n "> float32</ span > < span class ="p "> )</ span > < span class ="o "> .</ span > < span class ="n "> eps</ span >
95
97
@@ -242,6 +244,7 @@ <h1>Source code for corrct.processing.post</h1><div class="highlight"><pre>
242
244
< span class ="k "> if</ span > < span class ="n "> smooth</ span > < span class ="ow "> is</ span > < span class ="ow "> not</ span > < span class ="kc "> None</ span > < span class ="ow "> and</ span > < span class ="n "> smooth</ span > < span class ="o "> ></ span > < span class ="mi "> 1</ span > < span class ="p "> :</ span >
243
245
< span class ="n "> win</ span > < span class ="o "> =</ span > < span class ="n "> sp</ span > < span class ="o "> .</ span > < span class ="n "> signal</ span > < span class ="o "> .</ span > < span class ="n "> windows</ span > < span class ="o "> .</ span > < span class ="n "> hann</ span > < span class ="p "> (</ span > < span class ="n "> smooth</ span > < span class ="p "> )</ span >
244
246
< span class ="n "> win</ span > < span class ="o "> /=</ span > < span class ="n "> np</ span > < span class ="o "> .</ span > < span class ="n "> sum</ span > < span class ="p "> (</ span > < span class ="n "> win</ span > < span class ="p "> )</ span >
247
+ < span class ="n "> win</ span > < span class ="o "> =</ span > < span class ="n "> win</ span > < span class ="o "> .</ span > < span class ="n "> reshape</ span > < span class ="p "> ([</ span > < span class ="o "> *</ span > < span class ="p "> [</ span > < span class ="mi "> 1</ span > < span class ="p "> ]</ span > < span class ="o "> *</ span > < span class ="p "> (</ span > < span class ="n "> frc</ span > < span class ="o "> .</ span > < span class ="n "> ndim</ span > < span class ="o "> -</ span > < span class ="mi "> 1</ span > < span class ="p "> ),</ span > < span class ="o "> -</ span > < span class ="mi "> 1</ span > < span class ="p "> ])</ span >
245
248
< span class ="n "> frc</ span > < span class ="o "> =</ span > < span class ="n "> sp</ span > < span class ="o "> .</ span > < span class ="n "> ndimage</ span > < span class ="o "> .</ span > < span class ="n "> convolve</ span > < span class ="p "> (</ span > < span class ="n "> frc</ span > < span class ="p "> ,</ span > < span class ="n "> win</ span > < span class ="p "> ,</ span > < span class ="n "> mode</ span > < span class ="o "> =</ span > < span class ="s2 "> "nearest"</ span > < span class ="p "> )</ span >
246
249
247
250
< span class ="k "> return</ span > < span class ="n "> frc</ span > < span class ="p "> [</ span > < span class ="o "> ...</ span > < span class ="p "> ,</ span > < span class ="p "> :</ span > < span class ="n "> cut_off</ span > < span class ="p "> ],</ span > < span class ="n "> Thb</ span > < span class ="p "> [</ span > < span class ="o "> ...</ span > < span class ="p "> ,</ span > < span class ="p "> :</ span > < span class ="n "> cut_off</ span > < span class ="p "> ]</ span > </ div >
@@ -253,6 +256,8 @@ <h1>Source code for corrct.processing.post</h1><div class="highlight"><pre>
253
256
< span class ="n "> title</ span > < span class ="p "> :</ span > < span class ="n "> Optional</ span > < span class ="p "> [</ span > < span class ="nb "> str</ span > < span class ="p "> ]</ span > < span class ="o "> =</ span > < span class ="kc "> None</ span > < span class ="p "> ,</ span >
254
257
< span class ="n "> smooth</ span > < span class ="p "> :</ span > < span class ="n "> Optional</ span > < span class ="p "> [</ span > < span class ="nb "> int</ span > < span class ="p "> ]</ span > < span class ="o "> =</ span > < span class ="mi "> 5</ span > < span class ="p "> ,</ span >
255
258
< span class ="n "> snrt</ span > < span class ="p "> :</ span > < span class ="nb "> float</ span > < span class ="o "> =</ span > < span class ="mf "> 0.2071</ span > < span class ="p "> ,</ span >
259
+ < span class ="n "> axes</ span > < span class ="p "> :</ span > < span class ="n "> Optional</ span > < span class ="p "> [</ span > < span class ="n "> Sequence</ span > < span class ="p "> [</ span > < span class ="nb "> int</ span > < span class ="p "> ]]</ span > < span class ="o "> =</ span > < span class ="kc "> None</ span > < span class ="p "> ,</ span >
260
+ < span class ="n "> verbose</ span > < span class ="p "> :</ span > < span class ="nb "> bool</ span > < span class ="o "> =</ span > < span class ="kc "> False</ span > < span class ="p "> ,</ span >
256
261
< span class ="p "> )</ span > < span class ="o "> -></ span > < span class ="n "> Tuple</ span > < span class ="p "> [</ span > < span class ="n "> Figure</ span > < span class ="p "> ,</ span > < span class ="n "> Axes</ span > < span class ="p "> ]:</ span >
257
262
< span class ="sd "> """Compute and plot the FSCs / FRCs of some volumes.</ span >
258
263
@@ -268,12 +273,21 @@ <h1>Source code for corrct.processing.post</h1><div class="highlight"><pre>
268
273
< span class ="sd "> The size of the smoothing window for the computed curves, by default 5.</ span >
269
274
< span class ="sd "> snrt : float, optional</ span >
270
275
< span class ="sd "> The SNR of the T curve, by default 0.2071 - as per half-dataset SNR.</ span >
276
+ < span class ="sd "> axes : Sequence[int] | None, optional</ span >
277
+ < span class ="sd "> The axes along which we want to compute the FRC. The unused axes will be</ span >
278
+ < span class ="sd "> averaged. The default is None.</ span >
279
+ < span class ="sd "> verbose : bool, optional</ span >
280
+ < span class ="sd "> Whether to display verbose output, by default False.</ span >
271
281
< span class ="sd "> """</ span >
272
282
< span class ="n "> frcs</ span > < span class ="o "> =</ span > < span class ="p "> [</ span > < span class ="n "> np</ span > < span class ="o "> .</ span > < span class ="n "> array</ span > < span class ="p "> ([])]</ span > < span class ="o "> *</ span > < span class ="nb "> len</ span > < span class ="p "> (</ span > < span class ="n "> volume_pairs</ span > < span class ="p "> )</ span >
273
283
< span class ="n "> xps</ span > < span class ="p "> :</ span > < span class ="n "> List</ span > < span class ="p "> [</ span > < span class ="n "> Optional</ span > < span class ="p "> [</ span > < span class ="n "> Tuple</ span > < span class ="p "> [</ span > < span class ="nb "> float</ span > < span class ="p "> ,</ span > < span class ="nb "> float</ span > < span class ="p "> ]]]</ span > < span class ="o "> =</ span > < span class ="p "> [(</ span > < span class ="mf "> 0.0</ span > < span class ="p "> ,</ span > < span class ="mf "> 0.0</ span > < span class ="p "> )]</ span > < span class ="o "> *</ span > < span class ="nb "> len</ span > < span class ="p "> (</ span > < span class ="n "> volume_pairs</ span > < span class ="p "> )</ span >
274
284
275
- < span class ="k "> for</ span > < span class ="n "> ii</ span > < span class ="p "> ,</ span > < span class ="n "> pair</ span > < span class ="ow "> in</ span > < span class ="nb "> enumerate</ span > < span class ="p "> (</ span > < span class ="n "> volume_pairs</ span > < span class ="p "> ):</ span >
276
- < span class ="n "> frcs</ span > < span class ="p "> [</ span > < span class ="n "> ii</ span > < span class ="p "> ],</ span > < span class ="n "> T</ span > < span class ="o "> =</ span > < span class ="n "> frc</ span > < span class ="p "> (</ span > < span class ="n "> pair</ span > < span class ="p "> [</ span > < span class ="mi "> 0</ span > < span class ="p "> ],</ span > < span class ="n "> pair</ span > < span class ="p "> [</ span > < span class ="mi "> 1</ span > < span class ="p "> ],</ span > < span class ="n "> snrt</ span > < span class ="o "> =</ span > < span class ="n "> snrt</ span > < span class ="p "> ,</ span > < span class ="n "> smooth</ span > < span class ="o "> =</ span > < span class ="n "> smooth</ span > < span class ="p "> )</ span >
285
+ < span class ="k "> for</ span > < span class ="n "> ii</ span > < span class ="p "> ,</ span > < span class ="n "> pair</ span > < span class ="ow "> in</ span > < span class ="nb "> enumerate</ span > < span class ="p "> (</ span > < span class ="n "> tqdm</ span > < span class ="p "> (</ span > < span class ="n "> volume_pairs</ span > < span class ="p "> ,</ span > < span class ="n "> desc</ span > < span class ="o "> =</ span > < span class ="s2 "> "Computing FRCs"</ span > < span class ="p "> ,</ span > < span class ="n "> disable</ span > < span class ="o "> =</ span > < span class ="ow "> not</ span > < span class ="n "> verbose</ span > < span class ="p "> )):</ span >
286
+ < span class ="n "> frcs</ span > < span class ="p "> [</ span > < span class ="n "> ii</ span > < span class ="p "> ],</ span > < span class ="n "> T</ span > < span class ="o "> =</ span > < span class ="n "> frc</ span > < span class ="p "> (</ span > < span class ="n "> pair</ span > < span class ="p "> [</ span > < span class ="mi "> 0</ span > < span class ="p "> ],</ span > < span class ="n "> pair</ span > < span class ="p "> [</ span > < span class ="mi "> 1</ span > < span class ="p "> ],</ span > < span class ="n "> snrt</ span > < span class ="o "> =</ span > < span class ="n "> snrt</ span > < span class ="p "> ,</ span > < span class ="n "> smooth</ span > < span class ="o "> =</ span > < span class ="n "> smooth</ span > < span class ="p "> ,</ span > < span class ="n "> axes</ span > < span class ="o "> =</ span > < span class ="n "> axes</ span > < span class ="p "> )</ span >
287
+ < span class ="k "> if</ span > < span class ="n "> T</ span > < span class ="o "> .</ span > < span class ="n "> ndim</ span > < span class ="o "> ></ span > < span class ="mi "> 1</ span > < span class ="p "> :</ span >
288
+ < span class ="n "> reduce_axes</ span > < span class ="o "> =</ span > < span class ="nb "> tuple</ span > < span class ="p "> (</ span > < span class ="n "> np</ span > < span class ="o "> .</ span > < span class ="n "> arange</ span > < span class ="p "> (</ span > < span class ="n "> T</ span > < span class ="o "> .</ span > < span class ="n "> ndim</ span > < span class ="o "> -</ span > < span class ="mi "> 1</ span > < span class ="p "> ))</ span >
289
+ < span class ="n "> frcs</ span > < span class ="p "> [</ span > < span class ="n "> ii</ span > < span class ="p "> ]</ span > < span class ="o "> =</ span > < span class ="n "> frcs</ span > < span class ="p "> [</ span > < span class ="n "> ii</ span > < span class ="p "> ]</ span > < span class ="o "> .</ span > < span class ="n "> mean</ span > < span class ="p "> (</ span > < span class ="n "> axis</ span > < span class ="o "> =</ span > < span class ="n "> reduce_axes</ span > < span class ="p "> )</ span >
290
+ < span class ="n "> T</ span > < span class ="o "> =</ span > < span class ="n "> T</ span > < span class ="o "> .</ span > < span class ="n "> mean</ span > < span class ="p "> (</ span > < span class ="n "> axis</ span > < span class ="o "> =</ span > < span class ="n "> reduce_axes</ span > < span class ="p "> )</ span >
277
291
< span class ="n "> xps</ span > < span class ="p "> [</ span > < span class ="n "> ii</ span > < span class ="p "> ]</ span > < span class ="o "> =</ span > < span class ="n "> lines_intersection</ span > < span class ="p "> (</ span > < span class ="n "> frcs</ span > < span class ="p "> [</ span > < span class ="n "> ii</ span > < span class ="p "> ],</ span > < span class ="n "> T</ span > < span class ="p "> ,</ span > < span class ="n "> x_lims</ span > < span class ="o "> =</ span > < span class ="p "> (</ span > < span class ="mi "> 1</ span > < span class ="p "> ,</ span > < span class ="kc "> None</ span > < span class ="p "> ))</ span >
278
292
279
293
< span class ="n "> nyquist</ span > < span class ="o "> =</ span > < span class ="nb "> len</ span > < span class ="p "> (</ span > < span class ="n "> frcs</ span > < span class ="p "> [</ span > < span class ="mi "> 0</ span > < span class ="p "> ])</ span >
0 commit comments