Define API for reader and image_mapper#143
Conversation
For looping over a given dl1 table and a single dl1 event (charges, peak times and mask), we can now retrieve the 2D images (input of the CNNs) without init and running the dl1dh reader.
also create separate function for the trigger patches on R0 data
remove also apply IM functions because it can be now replace by the internal .map_image() function
If prefix camera_frame is in the file, the user should add this prefix to the config file.
added batch generator removed dl1dh transform dl1dh provide now a static batch and we get the relevant information about the labels in the data loader of ctlearn
now stored in dl0 monitoring tree
last dimension of sample was missing
replaced by new design
Mainly astropy table operations are now used to retrieve the exmaple identifiers for the stereo reading mode. Code base is therefore heavily reduced and operations are more efficient. Moved parameter settings outside the dl1dh. User can request to also the read dl1b parameters by passing a list of column names in the batch_generation() Removed init skip when pandas hdf5 with example identifiers is provided. It is not needed anymore since we are now fast and efficient with astropy tables and their operations. split transformation into sub-functions for better readability.
this is removing redundant code astopy table operations should be used a retrieved sum(), min or max etc.
Everything related to the selection of the subarray is done with ctapipe now Whenever a new file is processed, it checks the consistency of the SubarrayDescription to the reference which is the first provided file; this ensures that all files have the subarray.
It defines a reading API with two childs for reading in mono and stereo mode. Then, the Image and Waveform childs inherits from both child classes (mono and stereo). Finally, the trigger child only inherits from the mono child
this is somehow needed because we modify the batch Table for the Trigger subclass fix trigger subclass
|
setup.cfg has a deprecated line. [tool:pytest] Action (remove pep8ignore line): If you dont remove this line you will have a warning in pytest like this: `============================================================================================================================ warnings summary ============================================================================================================================= -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html` After remove the pep8ignore line , the warning is out. |
|
Add an empty `from dl1_data_handler.reader import DLDataReader def test_inputs(): ` It is working for me. |
|
I piggybacked on ctapipe for the test data in order to implement a minimal unit test. Can you please check the latest commit @Pablitinho thanks! |
process tool was failing in the tests because we need the latest ctapipe version
remove placeholder
dl1dh should be not import keras or tensorflow
After check the log. Says that " ModuleNotFoundError: No module named 'tensorflow'" So.. In .github folder you should add tensorflow to be installed and also in environment.yml. After install tensorflow I am getting another error that I am checking "> assert features["input"].shape == (1, 110, 110, 2) dl1_data_handler/tests/test_loader.py:35: IndexError". Let's me take a look |
|
@Pablitinho thanks for noticing, I just moved the loader class to ctlearn because of the keras/tensorflow dependency. This is solving the tests. I will merge #142 and rebase this branch. |
|
Thanks a lot @rcervinoucm. CI is passing now with 'minimal' meaningful unit testing. This PR also includes the preparation for dl1dh v0.13.0. Anything missing or can we go ahead? @Pablitinho @nietootein @rcervinoucm |
|
UnclosedFileWarning:
In order to avoid this problem (the files are not closed), the most appropiate solution is the next: ` ... ` This is a suggestion, apply it if you wish. |
remove redundant setup.cfg
nietootein
left a comment
There was a problem hiding this comment.
Thanks so much, @TjarkMiener and everyone involved!
Define API for reader and image_mapper
Define API for reader and image_mapper
This PR suggests APIs for the reader and image_mapper. The configuration system and component scheme of
ctapipeis adopted. Besides we adoptastropytables for the batch generation. Reading is working in monoscopic and stereoscopic mode for DL1 images and R1 waveforms. The code properly process data with different array and telescope (divergent) pointings.A subclass designed for the adv. trigger system processing R0 waveforms will be added in a separated PR.
–––
Closes #31 #104