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/).