Currently the MapMaker operator assumes that the entire detector timestream data volume is in memory. However, with a small change this could support making maps of data while loading one observation at a time and making several passes through the data. This issue outlines the design of that:
- The starting Data object only needs to have the telescope pointing information and other auxiliary information for all observations.
- Add
loader and preprocess traits to the MapMaker class which are optional class traits. The loader operator should populate detector data in observations one at a time when its exec() method is called, and also provide "rewind()" and "purge()" (or similar) methods.
- For testing, a simple loader operator can be created that just loops over an existing Data object.
- The loader and preprocess traits are passed to the lower-level operators.
- When building the RHS of the template solver, this can be accumulated with 2 passes through the data.
- When solving for the template amplitudes, one detector at a time is processed as usual.
- When making the final binned map, one additional pass is made through the data.
- In both the RHS construction and the final binning, the original preprocess operator is passed to the existing
preprocess trait of the binning operator.
- When running a filter and bin workflow, a
Pipeline containing the filtering operators can be passed as the preprocess trait.
Currently the
MapMakeroperator assumes that the entire detector timestream data volume is in memory. However, with a small change this could support making maps of data while loading one observation at a time and making several passes through the data. This issue outlines the design of that:loaderandpreprocesstraits to the MapMaker class which are optional class traits. The loader operator should populate detector data in observations one at a time when itsexec()method is called, and also provide "rewind()" and "purge()" (or similar) methods.preprocesstrait of the binning operator.Pipelinecontaining the filtering operators can be passed as thepreprocesstrait.