slaclab / lcls-tools

Python tools for LCLS: post processing data, PV handling, pulling archive settings, etc.
Apache License 2.0
2 stars 20 forks source link

Image Processing Class from PR 143 #171

Closed eloiseyang closed 2 months ago

eloiseyang commented 2 months ago

Combined functions in image_processing.py into ImageProcessor class. Added ROI Classes for background subtraction and ROI cropping Added tests and datasets for both classes. Separated from this pull request.

eloiseyang commented 2 months ago

TODO: Rename tests/datasets/h5py/test_image.h5 to clarify its contents. If real beam image, change to fake Gaussian with known properties.

TODO: Run coverage.

TODO: Remove plotting from image class.

TODO: Rename image_processing folder to image.

TODO: Add ROI to docs

TODO: Cleanup Docs

eloiseyang commented 2 months ago

Coverage looks good:

Name                                                                           Stmts   Miss  Cover
--------------------------------------------------------------------------------------------------
lcls_tools/__init__.py                                                             0      0   100%
lcls_tools/common/__init__.py                                                      0      0   100%
lcls_tools/common/image_processing/__init__.py                                     0      0   100%
lcls_tools/common/image_processing/image.py                                       30      1    97%
lcls_tools/common/image_processing/image_processing.py                            35      6    83%
lcls_tools/common/image_processing/roi.py                                         52      5    90%
tests/__init__.py                                                                  0      0   100%
tests/unit_tests/__init__.py                                                       0      0   100%
tests/unit_tests/lcls_tools/__init__.py                                            0      0   100%
tests/unit_tests/lcls_tools/common/__init__.py                                     0      0   100%
tests/unit_tests/lcls_tools/common/image_processing/__init__.py                    0      0   100%
tests/unit_tests/lcls_tools/common/image_processing/test_image.py                 32      3    91%
tests/unit_tests/lcls_tools/common/image_processing/test_image_processing.py      34      0   100%
tests/unit_tests/lcls_tools/common/image_processing/test_roi.py                   26      0   100%
--------------------------------------------------------------------------------------------------
TOTAL                                                                            209     15    93%
MattKing06 commented 2 months ago

Added some comments but functionality looks good. Only other thing is to update the docs for image_processing to include ROI 👍