File: coverage.rst

package info (click to toggle)
pyfai 2026.02-2
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 96,100 kB
  • sloc: python: 70,217; lisp: 8,335; sh: 407; ansic: 247; makefile: 133; xml: 69
file content (257 lines) | stat: -rw-r--r-- 12,963 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
Test coverage report for pyFAI
==============================

Measured on *pyFAI* version 2026.2.0, 26/02/2026

.. csv-table:: Test suite coverage
   :header: "Name", "Stmts", "Exec", "Cover"
   :widths: 35, 8, 8, 8

   "__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", "867", "770", "88.8 %"
   "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", "587", "361", "61.5 %"
   "grid.py", "38", "15", "39.5 %"
   "load_integrators.py", "10", "10", "100.0 %"
   "massif.py", "240", "198", "82.5 %"
   "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", "464", "421", "90.7 %"
   "version.py", "62", "45", "72.6 %"
   "worker.py", "737", "373", "50.6 %"
   "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", "635", "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", "167", "160", "95.8 %"
   "crystallography/resolution.py", "63", "62", "98.4 %"
   "crystallography/space_groups.py", "2360", "2243", "95.0 %"
   "detectors/__init__.py", "23", "23", "100.0 %"
   "detectors/_adsc.py", "64", "64", "100.0 %"
   "detectors/_common.py", "994", "751", "75.6 %"
   "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", "127", "120", "94.5 %"
   "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", "1409", "1132", "80.3 %"
   "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", "222", "53", "23.9 %"
   "gui/__init__.py", "3", "3", "100.0 %"
   "gui/cli_calibration.py", "1565", "108", "6.9 %"
   "gui/diffmap_widget.py", "484", "80", "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", "308", "50", "16.2 %"
   "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", "45", "19", "42.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", "980", "77.4 %"
   "integrator/common.py", "775", "369", "47.6 %"
   "integrator/fiber.py", "311", "242", "77.8 %"
   "integrator/load_engines.py", "165", "120", "72.7 %"
   "io/__init__.py", "690", "396", "57.4 %"
   "io/_json.py", "22", "16", "72.7 %"
   "io/calibrant_config.py", "169", "124", "73.4 %"
   "io/diffmap_config.py", "334", "274", "82.0 %"
   "io/image.py", "31", "26", "83.9 %"
   "io/integration_config.py", "557", "440", "79.0 %"
   "io/nexus.py", "558", "447", "80.1 %"
   "io/ponifile.py", "253", "207", "81.8 %"
   "io/sparse_frame.py", "153", "23", "15.0 %"
   "io/spots.py", "213", "138", "64.8 %"
   "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", "45884", "26878", "58.6 %"