What’s new ?
- update for pyoperators 0.4 & pyfits 3.x
- bring back map-making with distributed maps
- comprehensive MPI testing of the naive, ls and rls mapper.
- PACS: API Change: change PACS’s get_tod default behaviour, by not applying the flatfield correction and subtracting the mean value. To do so, the appropriate keywords must be set to True
- PACS: make the PacsInstrument class be instanciated and used without a PacsObservation
- PACS: gather calibration files in PacsInfo class. Implement get_calibration methods, which centralise calibration file handling. Make Responsivity and BadPixelMask calibration files handled from Python. Add access to Absorption and FilterTransmission calibration files. Update calibration files to HCSS 8.
- PACS: fix masking of temporal jumps
- PACS: flag as ‘other’ all pointings before the first inscan one.
- datatypes: add fast median method in Quantity. (Tod takes mask into account)
- datatypes: getitem should also handle list of items.
- datatypes: Add astype method, fix wrapping of some ndarray’s methods in Tod and Map
- datatypes: implement rightward/leftward broadcasting in derived units.
- acquisitionmodels: add class PointingMatrix which contain the pointing matrix information and info about the input map. Make ProjectionOperator handle PointingMatrix inputs and the get_pointing_matrix routines return a PointingMatrix object. As a consequence, pointing matrices can be manipulated before being used to initialise a ProjectionOperator. Make get_mask work for MPI-distributed maps and TODs. Make get_ptp work for block column projections. Remove header, npixels_per_sample attributes
- acquisitionmodels: new methods intersects, apply_mask, get_pTx_pT1 (can significantly speed up naive maps) in ProjectionOperator. Remove _matrix attribute in projections.
- acquisitionmodels: remove 3rd dimension in pointing_matrix_mask/pack. During packing, reject PointingElements with a negative weight.
- acquisitionmodels: in InvNttOperator, fix filter_length if the operator has several blocks.
- acquisitionmodels: PackOperator and UnpackOperator: add unary and binary rules. Hence remove transpose methods. Rework Fortran routines to differentiate in-place and out-of-place operations. Add comprehensive test cases.
- acquisitionmodels: in DdTddOperator, if the the scalar argument is zero, return a ZeroOperator.
- acquisitionmodels: make DiscreteDifferenceOperator work even if there are more MPI processes than elements along the first dimension. Fix MPI outplace diffT case.
- acquisitionmodels: make the block_diagonal decorator handle implicit partitions, take the usual partitionin and axisin keywords instead of partition and axis.
- API change: remove_nonfinite → filter_nonfinite, add outplace operations, with and without a mask, Add processing Fortran interface.
- interpolate_linear, filter_median, filter_nonfinite, filter_polynomial: add ‘out’ keyword. Use partition instead of nsamples.
- inplace filter_polynomial
- implement median function, handling mask and NaN, parallelised along a given axis.
- observation.plot_scan: plot detector footprint on the first valid pointing
- force numeric locale to ‘POSIX’, to prevent gfortran using comma as fraction separator PR47007.
- new functions gather_fitsheader and scatter_fitsheader
- move all information messages to Python. Group info messages for block column projection operators.
- refactor mapper_ls and mapper_rls, by relying on algebraic rules and by removing the use of ReshapeOperator.
- in write_fits, fix MPI case. Do not rely on pyfits private methods and do the padding ourselves.
- add argument r0 in airy_disk function to specify first zero, as an alternative to fwhm.
- in imshow, discard outliers by using a percentile of the valid values.
- general: improve error messages
- rename numpyutils.py → utils.py and utils.py → datautils.py.
- wscript: preprocess var.py.in file to include configuration options and version name.
- wscript: make waf loc display Python/Fortran/Total lines of code. Remove loc-fortran and loc-python.
- wscript: run test-mpi test suite with np = 1 even if —enable-mpi has not been set