denoising.wavelets_mrfilter

Denoise FITS images with Wavelet Transform.

This script use mr_filter – a program written CEA/CosmoStat (www.cosmostat.org) – to make Wavelet Transform.

Usage

wavelets_mrfilter.py [-h] [--type-of-filtering INTEGER]
                          [--coef-detection-method INTEGER]
                          [--type-of-multiresolution-transform INTEGER]
                          [--type-of-filters INTEGER]
                          [--type-of-non-orthog-filters INTEGER]
                          [--noise-model INTEGER]
                          [--number-of-scales integer]
                          [--k-sigma-noise-threshold FLOAT]
                          [--number-of-iterations integer] [--epsilon FLOAT]
                          [--support-file-name FILE]
                          [--suppress-isolated-pixels]
                          [--kill-isolated-pixels] [--suppress-last-scale]
                          [--detect-only-positive-structure]
                          [--precision FLOAT]
                          [--first-detection-scale INTEGER]
                          [--suppress-positivity-constraint]
                          [--maximum-level-constraint]
                          [--mask-file-path MASK_FILE_NAME]
                          [--offset-after-calibration FLOAT]
                          [--correction-offset]
                          [--input-image-scale INPUT_IMAGE_SCALE]
                          [--noise-cdf-file FILE] [--tmp-dir DIRECTORY]
                          [--verbose] [--debug] [--max-images INTEGER]
                          [--telid INTEGER] [--eventid INTEGER]
                          [--camid STRING] [--benchmark STRING]
                          [--label STRING] [--plot] [--saveplot FILE]
                          [--output FILE]
                          FILE [FILE ...]

Denoise FITS images with Wavelet Transform.

positional arguments:
  FILE                  The files image to process (FITS).If fileargs is a
                        directory,all FITS files it contains are processed.

optional arguments:
  -h, --help            show this help message and exit
  --type-of-filtering INTEGER, -f INTEGER
                        Type of filtering: 1: Multiresolution Hard K-Sigma
                        Thresholding 2: Multiresolution Soft K-Sigma
                        Thresholding 3: Iterative Multiresolution Thresholding
                        4: Adjoint operator applied to the multiresolution
                        support 5: Bivariate Shrinkage 6: Multiresolution
                        Wiener Filtering 7: Total Variation + Wavelet
                        Constraint 8: Wavelet Constraint Iterative Methods 9:
                        Median Absolute Deviation (MAD) Hard Thesholding 10:
                        Median Absolute Deviation (MAD) Soft Thesholding.
                        Default=1.
  --coef-detection-method INTEGER, -C INTEGER
                        Coef_Detection_Method: 1: K-SigmaNoise Threshold 2:
                        False Discovery Rate (FDR) Theshold 3: Universal
                        Threshold 4: SURE Threshold 5: Multiscale SURE
                        Threshold. Default=1.
  --type-of-multiresolution-transform INTEGER, -t INTEGER
                        Type of multiresolution transform: 1: linear wavelet
                        transform: a trous algorithm 2: bspline wavelet
                        transform: a trous algorithm 3: wavelet transform in
                        Fourier space 4: morphological median transform 5:
                        morphological minmax transform 6: pyramidal linear
                        wavelet transform 7: pyramidal bspline wavelet
                        transform 8: pyramidal wavelet transform in Fourier
                        space: algo 1 (diff. between two resolutions) 9:
                        Meyer's wavelets (compact support in Fourier space)
                        10: pyramidal median transform (PMT) 11: pyramidal
                        laplacian 12: morphological pyramidal minmax transform
                        13: decomposition on scaling function 14: Mallat's
                        wavelet transform (7/9 filters) 15: Feauveau's wavelet
                        transform 16: Feauveau's wavelet transform without
                        undersampling 17: Line Column Wavelet Transform
                        (1D+1D) 18: Haar's wavelet transform 19: half-
                        pyramidal transform 20: mixed Half-pyramidal WT and
                        Median method (WT-HPMT) 21: undecimated diadic wavelet
                        transform (two bands per scale) 22: mixed WT and PMT
                        method (WT-PMT) 23: undecimated Haar transform: a
                        trous algorithm (one band per scale) 24: undecimated
                        (bi-) orthogonal transform (three bands per scale) 25:
                        non orthogonal undecimated transform (three bands per
                        scale) 26: Isotropic and compact support wavelet in
                        Fourier space 27: pyramidal wavelet transform in
                        Fourier space: algo 2 (diff. between the square of two
                        resolutions) 28: Fast Curvelet Transform. Default=2.
  --type-of-filters INTEGER, -T INTEGER
                        Type of filters: 1: Biorthogonal 7/9 filters 2:
                        Daubechies filter 4 3: Biorthogonal 2/6 Haar filters
                        4: Biorthogonal 2/10 Haar filters 5: Odegard 9/7
                        filters 6: 5/3 filter 7: Battle-Lemarie filters (2
                        vanishing moments) 8: Battle-Lemarie filters (4
                        vanishing moments) 9: Battle-Lemarie filters (6
                        vanishing moments) 10: User's filters 11: Haar filter
                        12: 3/5 filter 13: 4/4 Linar spline filters 14:
                        Undefined sub-band filters. Default=1.
  --type-of-non-orthog-filters INTEGER, -U INTEGER
                        Type of non-orthogonal filters: 1: SplineB3-Id+H:
                        H=[1,4,6,4,1]/16, Ht=H, G=Id-H, Gt=Id+H 2:
                        SplineB3-Id: H=[1,4,6,4,1]/16, Ht=H, G=Id-H*H, Gt=Id
                        3: SplineB2-Id: H=4[1,2,1]/4, Ht=H, G=Id-H*H, Gt=Id 4:
                        Harr/Spline POS:
                        H=Haar,G=[-1/4,1/2,-1/4],Ht=[1,3,3,1]/8,Gt=[1,6,1]/4.
                        Default=2.
  --noise-model INTEGER, -m INTEGER
                        Noise model: 1: Gaussian noise 2: Poisson noise 3:
                        Poisson noise + Gaussian noise 4: Multiplicative noise
                        5: Non-stationary additive noise 6: Non-stationary
                        multiplicative noise 7: Undefined stationary noise 8:
                        Undefined noise 9: Stationary correlated noise 10:
                        Poisson noise with few events. Default=1.
  --number-of-scales integer, -n integer
                        Number of scales used in the multiresolution
                        transform. Default=4.
  --k-sigma-noise-threshold FLOAT, -s FLOAT
                        Thresholding at nsigma * SigmaNoise. Default=3.
  --number-of-iterations integer, -i integer
                        Maximum number of iterations. Default=10.
  --epsilon FLOAT, -e FLOAT
                        Convergence parameter. Default=0.001000 or 0.000010 in
                        case of poisson noise with few events.
  --support-file-name FILE, -w FILE
                        Creates an image from the multiresolution support and
                        save to disk.
  --suppress-isolated-pixels, -k
                        Suppress isolated pixels in the support
  --kill-isolated-pixels
                        Suppress isolated pixels in the support (scipy
                        implementation)
  --suppress-last-scale, -K
                        Suppress the last scale (to have background pixels =
                        0)
  --detect-only-positive-structure, -p
                        Detect only positive structure
  --precision FLOAT, -E FLOAT
                        Epsilon = precision for computing thresholds (only
                        used in case of poisson noise with few events).
                        Default=1.00e-03.
  --first-detection-scale INTEGER, -F INTEGER
                        First scale used for the detection. Default=1.
  --suppress-positivity-constraint, -P
                        Suppress positivity constraint
  --maximum-level-constraint
                        Add the maximum level constraint. Max value is 255.
  --mask-file-path MASK_FILE_NAME
                        Filename of the mask containing the bad data
                        (Mask[i,j]=1 for good pixels and 0 otherwise. Default
                        is none.
  --offset-after-calibration FLOAT
                        Value added to all pixels of the input image after
                        calibration. Default=0.
  --correction-offset   Apply a correction offset to the output image.
  --input-image-scale INPUT_IMAGE_SCALE
                        Use a different scale for the input image ('linear',
                        'log' or 'sqrt'). Default='linear'.
  --noise-cdf-file FILE
                        The JSON file containing the Cumulated Distribution
                        Function of the noise model used to inject artificial
                        noise in blank pixels (those with a NaN value).
                        Default=None.
  --tmp-dir DIRECTORY   The directory where temporary files are written.
  --verbose, -v         Verbose mode
  --debug               Debug mode
  --max-images INTEGER  The maximum number of images to process
  --telid INTEGER       Only process images from the specified telescope
  --eventid INTEGER     Only process images from the specified event
  --camid STRING        Only process images from the specified camera
  --benchmark STRING, -b STRING
                        The benchmark method to use to assess the algorithm
                        for thegiven images
  --label STRING, -l STRING
                        The label attached to the produced results
  --plot                Plot images
  --saveplot FILE       The output file where to save plotted images
  --output FILE, -o FILE
                        The output file path (JSON)

Examples

./wavelets_mrfilter.py -h ./wavelets_mrfilter.py ./test.fits ipython3 – ./wavelets_mrfilter.py -n4 ./test.fits

Notes

This script requires the mr_filter program (http://www.cosmostat.org/software/isap/).