-
Breaking change: new API for pointing computation #319. Here is a in-depth list of all the breaking changes in this PR:
-
Quaternions describing the orientation of the detectors must now be encoded using a
RotQuaternion
object; plain NumPy arrays are no longer supported. -
Quaternions are now computed using the function
prepare_pointings()
(low-level) and the methodSimulation.prepare_pointings()
(high-level, you should use this). Pointings are no longer kept in memory until you retrieve them usingObservation.get_pointings()
. -
Pointings are no longer accessible using the field
pointings
in theObservation
class. (Not 100% true, see below.) They are computed on the fly by the methodObservation.get_pointings()
. -
The way pointings are returned differs from how they were stored before. The result of a call to
Observation.get_pointings()
is a 2-element tuple: the first element contains a(N, 3)
NumPy array containing the colatitude θ, the longitude φ, and the orientation ψ, while the second element is an array of the angles of the HWP. Thus, the orientation angle ψ is now stored together with θ and φ. -
If you want to pre-compute all the pointings instead of computing them on the fly each time you call
Observation.get_pointings()
, you can use the functionprecompute_pointings()
(low-level) and the methodSimulation.precompute_pointings()
(high-level). This initializes a number of fields in eachObservation
object, but they are shaped as described in the previous point, i.e., ψ is kept in the same matrix as θ and φ. -
The argument
dtype_tod
of the methodSimulation.create_observations
has becometod_type
for consistency with other similar parameters. -
The format of the HDF5 files has been slightly changed to let additional information about pointings to be stored.
See the comments in PR#319 and discussion #312 for more details.
-
-
Add data splits in time and detector space to destriped maps #309
-
Fix issue #317
-
Implement a time profiler #308