Test coverage report for pyFAI#
Measured on pyFAI version 2025.12.0, 12/12/2025
Name |
Stmts |
Exec |
Cover |
|---|---|---|---|
__init__.py |
40 |
29 |
72.5 % |
average.py |
515 |
360 |
69.9 % |
azimuthalIntegrator.py |
10 |
10 |
100.0 % |
blob_detection.py |
502 |
191 |
38.0 % |
calibrant.py |
21 |
21 |
100.0 % |
containers.py |
859 |
765 |
89.1 % |
control_points.py |
372 |
145 |
39.0 % |
diffmap.py |
584 |
284 |
48.6 % |
directories.py |
20 |
15 |
75.0 % |
distortion.py |
608 |
386 |
63.5 % |
geometryRefinement.py |
593 |
336 |
56.7 % |
goniometer.py |
586 |
360 |
61.4 % |
grid.py |
38 |
15 |
39.5 % |
load_integrators.py |
10 |
10 |
100.0 % |
massif.py |
240 |
195 |
81.2 % |
method_registry.py |
355 |
298 |
83.9 % |
multi_geometry.py |
387 |
165 |
42.6 % |
parallax.py |
284 |
226 |
79.6 % |
ring_extraction.py |
119 |
111 |
93.3 % |
spline.py |
426 |
251 |
58.9 % |
units.py |
460 |
365 |
79.3 % |
version.py |
62 |
45 |
72.6 % |
worker.py |
736 |
372 |
50.5 % |
app/__init__.py |
6 |
6 |
100.0 % |
app/average.py |
177 |
34 |
19.2 % |
app/benchmark.py |
62 |
17 |
27.4 % |
app/calib2.py |
376 |
34 |
9.0 % |
app/calib.py |
24 |
15 |
62.5 % |
app/check_calib.py |
31 |
20 |
64.5 % |
app/detector2nexus.py |
94 |
20 |
21.3 % |
app/diff_map.py |
38 |
16 |
42.1 % |
app/diff_tomo.py |
107 |
23 |
21.5 % |
app/drawmask.py |
107 |
33 |
30.8 % |
app/eiger_mask.py |
57 |
22 |
38.6 % |
app/integrate.py |
551 |
399 |
72.4 % |
app/mx_calibrate.py |
25 |
15 |
60.0 % |
app/peakfinder.py |
289 |
54 |
18.7 % |
app/pilx.py |
69 |
16 |
23.2 % |
app/recalib.py |
26 |
15 |
57.7 % |
app/saxs.py |
86 |
24 |
27.9 % |
app/sparsify.py |
284 |
55 |
19.4 % |
app/waxs.py |
98 |
25 |
25.5 % |
benchmark/__init__.py |
634 |
87 |
13.7 % |
crystallography/__init__.py |
11 |
11 |
100.0 % |
crystallography/calibrant.py |
365 |
280 |
76.7 % |
crystallography/calibrant_factory.py |
48 |
39 |
81.2 % |
crystallography/cell.py |
170 |
158 |
92.9 % |
crystallography/resolution.py |
63 |
62 |
98.4 % |
crystallography/space_groups.py |
2338 |
2226 |
95.2 % |
detectors/__init__.py |
23 |
23 |
100.0 % |
detectors/_adsc.py |
64 |
64 |
100.0 % |
detectors/_common.py |
979 |
734 |
75.0 % |
detectors/_dectris.py |
388 |
297 |
76.5 % |
detectors/_esrf.py |
71 |
67 |
94.4 % |
detectors/_hexagonal.py |
73 |
69 |
94.5 % |
detectors/_imxpad.py |
355 |
232 |
65.4 % |
detectors/_non_flat.py |
144 |
122 |
84.7 % |
detectors/_others.py |
86 |
82 |
95.3 % |
detectors/_psi.py |
192 |
109 |
56.8 % |
detectors/_rayonix.py |
240 |
216 |
90.0 % |
detectors/_xspectrum.py |
60 |
54 |
90.0 % |
detectors/orientation.py |
35 |
35 |
100.0 % |
detectors/sensors.py |
116 |
109 |
94.0 % |
engines/CSC_engine.py |
214 |
139 |
65.0 % |
engines/CSR_engine.py |
251 |
242 |
96.4 % |
engines/__init__.py |
18 |
18 |
100.0 % |
engines/histogram_engine.py |
92 |
84 |
91.3 % |
engines/preproc.py |
121 |
92 |
76.0 % |
ext/__init__.py |
2 |
2 |
100.0 % |
geometry/__init__.py |
8 |
8 |
100.0 % |
geometry/core.py |
1406 |
1130 |
80.4 % |
geometry/crystfel.py |
161 |
147 |
91.3 % |
geometry/cxi.py |
0 |
0 |
0.0 % |
geometry/fit2d.py |
136 |
121 |
89.0 % |
geometry/imaged11.py |
115 |
100 |
87.0 % |
gui/ApplicationContext.py |
108 |
51 |
47.2 % |
gui/CalibrationContext.py |
227 |
128 |
56.4 % |
gui/CalibrationWindow.py |
192 |
169 |
88.0 % |
gui/IntegrationDialog.py |
203 |
53 |
26.1 % |
gui/__init__.py |
3 |
3 |
100.0 % |
gui/cli_calibration.py |
1565 |
108 |
6.9 % |
gui/diffmap_widget.py |
479 |
79 |
16.5 % |
gui/matplotlib.py |
32 |
26 |
81.2 % |
gui/mpl_calib.py |
241 |
40 |
16.6 % |
gui/mpl_calib_qt.py |
47 |
19 |
40.4 % |
gui/peak_picker.py |
300 |
108 |
36.0 % |
gui/dialog/Detector3dDialog.py |
173 |
36 |
20.8 % |
gui/dialog/DetectorSelectorDialog.py |
532 |
400 |
75.2 % |
gui/dialog/GeometryDialog.py |
57 |
16 |
28.1 % |
gui/dialog/IntegrationMethodDialog.py |
216 |
36 |
16.7 % |
gui/dialog/MessageBox.py |
27 |
8 |
29.6 % |
gui/dialog/OpenClDeviceDialog.py |
116 |
14 |
12.1 % |
gui/dialog/__init__.py |
3 |
3 |
100.0 % |
gui/helper/MarkerManager.py |
209 |
65 |
31.1 % |
gui/helper/ProcessingWidget.py |
19 |
6 |
31.6 % |
gui/helper/RingCalibration.py |
320 |
53 |
16.6 % |
gui/helper/RingExtractor.py |
249 |
36 |
14.5 % |
gui/helper/SynchronizeMaskToolColor.py |
26 |
26 |
100.0 % |
gui/helper/SynchronizePlotBackground.py |
26 |
25 |
96.2 % |
gui/helper/SynchronizeRawView.py |
60 |
47 |
78.3 % |
gui/helper/__init__.py |
3 |
3 |
100.0 % |
gui/helper/model_transform.py |
112 |
15 |
13.4 % |
gui/jupyter/__init__.py |
2 |
2 |
100.0 % |
gui/jupyter/_plot.py |
102 |
16 |
15.7 % |
gui/jupyter/calib.py |
93 |
21 |
22.6 % |
gui/model/AbstractModel.py |
36 |
30 |
83.3 % |
gui/model/CalibrantModel.py |
19 |
17 |
89.5 % |
gui/model/CalibrationModel.py |
44 |
42 |
95.5 % |
gui/model/ConstraintModel.py |
60 |
21 |
35.0 % |
gui/model/DataModel.py |
15 |
14 |
93.3 % |
gui/model/DataModelAdaptor.py |
27 |
12 |
44.4 % |
gui/model/DetectorModel.py |
15 |
14 |
93.3 % |
gui/model/ExperimentSettingsModel.py |
113 |
101 |
89.4 % |
gui/model/FilenameModel.py |
21 |
14 |
66.7 % |
gui/model/Fit2dGeometryModel.py |
64 |
32 |
50.0 % |
gui/model/GeometryConstraintsModel.py |
86 |
41 |
47.7 % |
gui/model/GeometryHistoryModel.py |
40 |
14 |
35.0 % |
gui/model/GeometryModel.py |
89 |
41 |
46.1 % |
gui/model/ImageModel.py |
80 |
43 |
53.8 % |
gui/model/IntegrationSettingsModel.py |
26 |
23 |
88.5 % |
gui/model/ListModel.py |
130 |
92 |
70.8 % |
gui/model/MarkerModel.py |
48 |
34 |
70.8 % |
gui/model/MaskedImageModel.py |
31 |
17 |
54.8 % |
gui/model/PeakModel.py |
87 |
54 |
62.1 % |
gui/model/PeakSelectionModel.py |
85 |
34 |
40.0 % |
gui/model/PlotViewModel.py |
64 |
62 |
96.9 % |
gui/model/PreProcessedImageModel.py |
55 |
46 |
83.6 % |
gui/model/__init__.py |
3 |
3 |
100.0 % |
gui/pilx/HorizontalRangeROI.py |
14 |
10 |
71.4 % |
gui/pilx/MainWindow.py |
306 |
50 |
16.3 % |
gui/pilx/__init__.py |
0 |
0 |
0.0 % |
gui/pilx/models.py |
9 |
9 |
100.0 % |
gui/pilx/point.py |
23 |
7 |
30.4 % |
gui/pilx/utils.py |
119 |
31 |
26.1 % |
gui/pilx/widgets/ClearPointsAction.py |
16 |
12 |
75.0 % |
gui/pilx/widgets/DiffractionImagePlotWidget.py |
44 |
19 |
43.2 % |
gui/pilx/widgets/ImagePlotWidget.py |
68 |
28 |
41.2 % |
gui/pilx/widgets/IntegratedPatternPlotWidget.py |
97 |
29 |
29.9 % |
gui/pilx/widgets/MapPlotContextMenu.py |
49 |
21 |
42.9 % |
gui/pilx/widgets/MapPlotWidget.py |
152 |
38 |
25.0 % |
gui/pilx/widgets/OpenAxisDatasetAction.py |
29 |
15 |
51.7 % |
gui/pilx/widgets/RoiModeAction.py |
24 |
14 |
58.3 % |
gui/pilx/widgets/RoiRangeWidget.py |
50 |
18 |
36.0 % |
gui/pilx/widgets/TitleWidget.py |
12 |
9 |
75.0 % |
gui/pilx/widgets/__init__.py |
0 |
0 |
0.0 % |
gui/tasks/AbstractCalibrationTask.py |
79 |
72 |
91.1 % |
gui/tasks/ExperimentTask.py |
365 |
267 |
73.2 % |
gui/tasks/GeometryTask.py |
817 |
376 |
46.0 % |
gui/tasks/IntegrationTask.py |
836 |
304 |
36.4 % |
gui/tasks/MaskTask.py |
221 |
148 |
67.0 % |
gui/tasks/PeakPickingTask.py |
1364 |
588 |
43.1 % |
gui/tasks/__init__.py |
3 |
3 |
100.0 % |
gui/test/__init__.py |
48 |
33 |
68.8 % |
gui/utils/FilterBuilder.py |
43 |
13 |
30.2 % |
gui/utils/ProxyAction.py |
67 |
21 |
31.3 % |
gui/utils/__init__.py |
34 |
14 |
41.2 % |
gui/utils/colorutils.py |
48 |
43 |
89.6 % |
gui/utils/eventutils.py |
70 |
38 |
54.3 % |
gui/utils/imageutils.py |
25 |
13 |
52.0 % |
gui/utils/projecturl.py |
20 |
19 |
95.0 % |
gui/utils/timeutils.py |
11 |
9 |
81.8 % |
gui/utils/tree.py |
11 |
11 |
100.0 % |
gui/utils/units.py |
76 |
66 |
86.8 % |
gui/utils/unitutils.py |
54 |
8 |
14.8 % |
gui/utils/validators.py |
89 |
83 |
93.3 % |
gui/utils/test/__init__.py |
9 |
9 |
100.0 % |
gui/widgets/AdvancedComboBox.py |
66 |
56 |
84.8 % |
gui/widgets/AdvancedSpinBox.py |
20 |
11 |
55.0 % |
gui/widgets/CalibrantPreview.py |
110 |
100 |
90.9 % |
gui/widgets/CalibrantSelector2.py |
211 |
112 |
53.1 % |
gui/widgets/CalibrantSelector.py |
100 |
25 |
25.0 % |
gui/widgets/ChoiceToolButton.py |
71 |
43 |
60.6 % |
gui/widgets/ColoredCheckBox.py |
28 |
11 |
39.3 % |
gui/widgets/DetectorLabel.py |
122 |
74 |
60.7 % |
gui/widgets/DetectorModel.py |
14 |
12 |
85.7 % |
gui/widgets/DetectorSelector.py |
55 |
15 |
27.3 % |
gui/widgets/FileEdit.py |
157 |
60 |
38.2 % |
gui/widgets/FitParamView.py |
340 |
142 |
41.8 % |
gui/widgets/GeometryHistoryComboBox.py |
113 |
60 |
53.1 % |
gui/widgets/GeometryLabel.py |
39 |
31 |
79.5 % |
gui/widgets/GeometryTabs.py |
205 |
89 |
43.4 % |
gui/widgets/LoadImageToolButton.py |
119 |
50 |
42.0 % |
gui/widgets/MethodLabel.py |
93 |
49 |
52.7 % |
gui/widgets/MonitorNameEdit.py |
20 |
10 |
50.0 % |
gui/widgets/OpenClDeviceLabel.py |
52 |
22 |
42.3 % |
gui/widgets/QuantityEdit.py |
151 |
98 |
64.9 % |
gui/widgets/QuantityLabel.py |
132 |
80 |
60.6 % |
gui/widgets/UnitLabel.py |
69 |
37 |
53.6 % |
gui/widgets/UnitSelector.py |
84 |
81 |
96.4 % |
gui/widgets/WorkerConfigurator.py |
626 |
353 |
56.4 % |
gui/widgets/__init__.py |
3 |
3 |
100.0 % |
gui/widgets/model/AllDetectorItemModel.py |
65 |
62 |
95.4 % |
gui/widgets/model/CalibrantFilterProxyModel.py |
32 |
21 |
65.6 % |
gui/widgets/model/CalibrantItemModel.py |
41 |
35 |
85.4 % |
gui/widgets/model/DetectorFilterProxyModel.py |
26 |
25 |
96.2 % |
gui/widgets/model/__init__.py |
3 |
3 |
100.0 % |
gui/widgets/test/TestQuantityEdit.py |
69 |
67 |
97.1 % |
gui/widgets/test/__init__.py |
12 |
10 |
83.3 % |
integrator/__init__.py |
9 |
9 |
100.0 % |
integrator/azimuthal.py |
1266 |
979 |
77.3 % |
integrator/common.py |
775 |
369 |
47.6 % |
integrator/fiber.py |
304 |
240 |
78.9 % |
integrator/load_engines.py |
165 |
120 |
72.7 % |
io/__init__.py |
684 |
396 |
57.9 % |
io/_json.py |
14 |
11 |
78.6 % |
io/calibrant_config.py |
169 |
124 |
73.4 % |
io/diffmap_config.py |
333 |
273 |
82.0 % |
io/image.py |
31 |
26 |
83.9 % |
io/integration_config.py |
553 |
437 |
79.0 % |
io/nexus.py |
458 |
384 |
83.8 % |
io/ponifile.py |
254 |
207 |
81.5 % |
io/sparse_frame.py |
154 |
24 |
15.6 % |
io/spots.py |
214 |
139 |
65.0 % |
io/tree.py |
76 |
12 |
15.8 % |
io/xrdml.py |
76 |
75 |
98.7 % |
opencl/OCLFullSplit.py |
193 |
22 |
11.4 % |
opencl/__init__.py |
48 |
32 |
66.7 % |
opencl/azim_csr.py |
707 |
495 |
70.0 % |
opencl/azim_hist.py |
475 |
342 |
72.0 % |
opencl/azim_lut.py |
333 |
247 |
74.2 % |
opencl/ocl_hist_pixelsplit.py |
222 |
26 |
11.7 % |
opencl/peak_finder.py |
478 |
366 |
76.6 % |
opencl/preproc.py |
234 |
176 |
75.2 % |
opencl/sort.py |
281 |
216 |
76.9 % |
opencl/test/__init__.py |
27 |
27 |
100.0 % |
resources/__init__.py |
40 |
29 |
72.5 % |
test/__init__.py |
32 |
4 |
12.5 % |
third_party/__init__.py |
0 |
0 |
0.0 % |
third_party/transformations.py |
7 |
7 |
100.0 % |
third_party/_local/__init__.py |
3 |
3 |
100.0 % |
third_party/_local/transformations.py |
712 |
125 |
17.6 % |
utils/__init__.py |
117 |
65 |
55.6 % |
utils/bayes.py |
101 |
66 |
65.3 % |
utils/callback.py |
13 |
10 |
76.9 % |
utils/dataclasses.py |
68 |
57 |
83.8 % |
utils/decorators.py |
106 |
88 |
83.0 % |
utils/ellipse.py |
81 |
78 |
96.3 % |
utils/grid.py |
92 |
63 |
68.5 % |
utils/header_utils.py |
73 |
58 |
79.5 % |
utils/logging_utils.py |
50 |
47 |
94.0 % |
utils/mask_utils.py |
74 |
40 |
54.1 % |
utils/mathutil.py |
501 |
351 |
70.1 % |
utils/multiprocessing.py |
17 |
12 |
70.6 % |
utils/orderedset.py |
54 |
13 |
24.1 % |
utils/shell.py |
54 |
45 |
83.3 % |
utils/stringutil.py |
100 |
89 |
89.0 % |
pyFAI total |
45671 |
26689 |
58.4 % |