GNU Astronomy Utilities

Next: , Previous: , Up: Invoking astnoisechisel   [Contents][Index] General NoiseChisel options

The options discussed in this section are mainly regarding the input(s), output, and some general processing options that are shared between both detection and segmentation. Recall that you can always see the full list of Gnuastro’s options with the --help option.

-k STR

File name of kernel to smooth the image before applying the threshold, see Convolution kernel. The first step of NoiseChisel is to convolve/smooth the image and use the convolved image in multiple steps during the processing. It will be used to define (and later apply) the quantile threshold (see --qthresh). The convolved image is also used to define the clumps (see Section 3.2.1 and Figure 8 of Akhlaghi and Ichikawa [2015]).

The --kernel option is not mandatory. If no kernel is provided, a 2D Gaussian profile with a FWHM of 2 pixels truncated at 5 times the FWHM is used. This choice of the default kernel is discussed in Section 3.1.1 of Akhlaghi and Ichikawa [2015].


HDU containing the kernel in the file given to the --kernel option.


Use this file as the convolved image and don’t do convolution and ignore --kernel. NoiseChisel will just check the size of the given dataset is the same as the input’s size. If a wrong image (with the same size) is given to this option, the results (errors, bugs, and etc) are un-predictable. So please use this option with care and in a highly controlled environment. On such scenario is discussed below.

In almost all situations, as the input gets larger, the single most CPU and time consuming step in NoiseChisel is convolution (the first step in its processing). The process of testing NoiseChisel for the best parameters in a given analysis will involve running NoiseChisel multiple times: to see the effect of each new option value. Therefore, once the kernel is finalized, re-convolving the input will greatly hinder fast testing of higher-level parameters. With this option, you can convolve the input image with your chosen kernel once before running NoiseChisel, then feed it to NoiseChisel on each test run and thus save valuable time for better/more tests.

To build your desired convolution kernel, you can use MakeProfiles. To convolve the image with a given kernel you can use Convolve. Spatial domain convolution is mandatory. In the frequency domain, blank pixels (if present) will cover the whole image and gradients will appear on the edges, see Spatial vs. Frequency domain.

Below you can see an example of such a scenario: you want to see how variation of the growth level (through the --detgrowquant option) will affect the final result. Recall that you can ignore all the extra spaces, new lines, and ‘\’ if you are typing in the terminal (in a shell script, remove the $ signs at the start of the lines).

## Make the kernel to convolve with.
$ astmkprof --oversample=1 --kernel=gaussian,2,5

## Convolve the input with the given kernel.
$ astconvolve input.fits --kernel=kernel.fits                \
              --domain=spatial --output=convolved.fits

## Run NoiseChisel with seven growth quantile values.
$ for g in 60 65 70 75 80 85 90; do                          \
    astnoisechisel input.fits --convolved=convolved.fits     \
                   --detgrowquant=0.$g --output=$g.fits;     \

The HDU/extension containing the convolved image in the file given to --convolved.

-w STR

File name of a wider kernel to use in estimating the difference of the mode and median in a tile (this difference is used to identify the significance of signal in that tile, see Quantifying signal in a tile). This convolved image is only used for this purpose. Once the mode is found to be sufficiently close to the median, the input convolved with the sharper kernel (--kernel) is used to identify the quantile threshold (see --qthresh).

Since this convolution will significantly slow down the processing, it is optional. If no image is given, the mode and median will be found on the image that is convolved with the dataset in --kernel.


HDU containing the kernel file given to the --widekernel option.


If this option is called, it is assumed that the image has already been sky subtracted once. Knowing if the sky has already been subtracted once or not is very important in estimating the Signal to noise ratio of the detections and clumps. In short an extra \(\sigma_{sky}^2\) must be added in the error (noise or denominator in the Signal to noise ratio) for every flux value that is present in the calculation. This can be interpreted as the error in measuring that sky value when it was subtracted by any other program. See Section 3.3 in Akhlaghi and Ichikawa [2015]) for a complete explanation.


Minimum fraction (value between 0 and 1) of sky (undetected) areas in a tile for it to be considered in measuring the following detection and segmentation properties.

Because of the PSF and their intrinsic amorphous properties, astronomical objects (except cosmic rays) never have a clear cutoff and commonly sink into the noise very slowly. Even below the very low thresholds used by NoiseChisel. So when a large fraction of the area of one mesh is covered by detections, it is very plausible that their faint wings are present in the undetected regions (hence causing a bias in any measurement). To get an accurate measurement of the above parameters over the tessellation, tiles that harbor too many detected regions should be excluded. The used tiles are visible in the respective --check option of the given step.


The minimum number of ‘pseudo-detections’ (to identify false initial detections) or clumps (to identifying false clumps) found over the un-detected regions to identify a Signal-to-Noise ratio threshold.

The Signal to noise ratio (S/N) of false pseudo-detections and clumps in each tile is found using the quantile of the S/N distribution of the psudo-detections and clumps over the undetected pixels in each mesh. If the number of S/N measurements is not large enough, the quantile will not be accurate (can have large scatter). For example if you set --detquant=0.99 (or the top 1 percent), then it is best to have at least 100 S/N measurements.


The size of each tile for the tessellation with the larger tile sizes. Except for the tile size, all the other parameters for this tessellation are taken from the common options described in Processing options. The format is identical to that of the --tilesize option that is discussed in that section.


If this option is called, no segmentation will be done and the output will only have four extensions (no clumps extension, see NoiseChisel output). The second extension of the output is not going to be objects but raw detections (a large region will be given one label): labeling is only done based on connectivity. The last two extensions of the output will be the Sky and its Standard deviation.

This option can result in faster processing when only the noise properties of the image are desired for a catalog using another image’s labels for example. A common case is when you want to measure colors or SEDs in several images. Let’s say you have images in two colors: A and B. For simplicity also assume that they are exactly on the same position in the sky with the same pixel scale.

You choose to set A as a reference, so you run the NoiseChisel fully on A. Then you run NoiseChisel on B with --onlydetection since you only need the noise properties of B (for the signal to noise column in its catalog). You can then run MakeCatalog on A normally, see MakeCatalog. To run MakeCatalog on B, you simply set the object and clump labels images to those that NoiseChisel produced for A, see Invoking MakeCatalog.


Continue NoiseChisel after any of the options starting with --check. NoiseChisel involves many steps and as a result, there are many checks, allowing to inspect the status of the processing. The results of each step affect the next steps of processing, so, when you are want to check the status of the processing at one step, the time spent to complete NoiseChisel is just wasted/distracting time.

To encourage easier experimentation with the option values, when you use any of the NoiseChisel options that start with --check, NoiseChisel will abort once all the desired check file(s) is (are) completed. If you call the --continueaftercheck option, you can disable this behavior and ask NoiseChisel to continue with the rest of the processing after completing the check file(s).

Next: , Previous: , Up: Invoking astnoisechisel   [Contents][Index]