Test coverage report for pyFAI#

Measured on pyFAI version 2025.12.0, 12/12/2025

Test suite coverage#

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 %