-
Notifications
You must be signed in to change notification settings - Fork 270
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Consolidate camera calibration in a single class #1048
Consolidate camera calibration in a single class #1048
Conversation
Also the |
Codecov Report
@@ Coverage Diff @@
## master #1048 +/- ##
=========================================
Coverage ? 83.26%
=========================================
Files ? 181
Lines ? 10410
Branches ? 0
=========================================
Hits ? 8668
Misses ? 1742
Partials ? 0
Continue to review full report at Codecov.
|
* master: Create numba ufunc for sum of samples within charge extraction window (cta-observatory#1038) Implement nan-handling like matplotlib high-level api (cta-observatory#1050) Fix See Also docs for sphinx 2 (cta-observatory#1051) Correct function name Create extract_pulse_time_around_peakpos Correct min to max Fix test Update bokeh plotters to handle nan
Do we no longer need the check_x_exists functionality to prevent containers being overwritten? |
You are right, I've restored them now |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me now.
As #1046 was well received, I have proceeded with further simplifying the calibration chain. This PR consolidates the calibration chain into a single class. The
CameraCalibrator
class is repurposed from a "helper" class, into the main calibration chain class.The
CameraDL0Reducer
andCameraDL1Calibrator
are deleted. The individual calibration levels are still apparent inside the class (as individual functions), providing structure and direction.The arguments to
CameraCalibrator
now operate similar to how theCameraDL1Calibrator
worked, where the classes responsible for each of the calibration steps are individually constructed outside theCameraCalibrator
, before being passed to theCameraCalibrator
to be applied in the correct order to fill the event container. If a calibration-step-class is not passed to theCameraCalibrator
the default classes are used.By changing to this approach, it makes the process of adding additional steps in the calibration chain more easier and clear. Two additional steps that I intend to be add in future PRs are a gain selector and a charge calibrator (flat-field and absolute calibration), for which additional arguments to the class will be added.
Some TODOs exist in the
CameraCalibrator
indicating changes I intend for future PRs. I wanted to approach this in smaller steps to prevent errors in the results of the calibration chain, and to make reviews more digestible. This PR therefore keeps the calibration operations identical to the existing chain for the time being.