Skip to content

Very Low Memory Mapmaking Support #684

Description

@tskisner

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.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions