Table of Contents


ccdsmooth - smoothing of an image map (2D or 3D)


ccdsmooth in=image out=image [parameter=value]


ccdsmooth will smooth an image cube through a simple direct convolution (no FFT). The smoothing beam must be circular/spherical, or smoothing must be done independantly per coordinate by calling ccdsmooth multiple times using the dir= keyword (see below).

For more artistic versions of a smoothing operation, such as added noise and diffraction spikes for bright stars, see ccddiffract(1NEMO) .


The following parameters are recognized in any order if the keyword is also given:
input file, in Image(5) format [no default]
output file, will be in Image(5) format [no default]
Beam size (FWHM, note FWHM = 2*sqrt(2*ln(2) ) = 2.355 * sigma) of a gaussian smoothing kernel, in WCS units. Note this is size of the used smoothing kernel, NOT the resulting beam in the output map, which generally will be bigger depending on the pre-existing beam. If this parameter is used, the parameter smooth is ignored [default: not used].
Direction of smoothing. This gives the flexibility of smoothing in x, y and/or z separately. Note that when smoothing in more than one coordinate the beam is forced to be the same in each dimension [default: xy].
Smoothing array, should be at least 1 number, prefarably normalized to unity for sake for conservation of units (mass per unit square length). The program does not normalize the beam to unity. Example is e.g. the Hanning smoothing: "0.25,0.5,0.25". [default: 0.25,0.5,0.25]. This parameter is only used if gauss parameter is not used.
Number of times the above smoothing kernel is applied over the data. [default: 1].
Input pixel value which to skip in smoothing. [Default: not used]
Value at which to cutoff the gaussian beam. [Default: 0.01]

See Also

ccdfill(1NEMO) , ccddiffract(1NEMO) , snapccd(1NEMO) , snapsmooth(1NEMO) , snapgrid(1NEMO) , image(5NEMO)


With 68881 on SUN 3/50 (~16Mhz) and 200*200 map - old program (pre-V2.1)
Nbeam=17    54s
Nbeam=33    98s
Nbeam=47    140s
HanningThe following are the weights needed in smooth= for subsequent hanning
1: 0.25,0.5,0.25
2: 0.0625,0.25,0.375,0.25,0.0625 
3: 0.015625,0.09375,0.234375,0.3125,0.234375,0.09375,0.015625 
4: 0.00390625,0.03125,0.109375,0.21875,0.273438,0.21875,0.109375,0.03125,0.00390625

and these results in a reduction of the RMS by 0.61, 0.52, 0.47 and 0.44 resp. Note this is not the official Hanning definition (0.5-0.5 cos(2.pi.N/(M-1))).
1: 0.25,0.5,0.25
2: 0.08333333,0.25,0.33333333,0.25,0.08333333
3: 0.03661165,0.125,0.21338835,0.25,0.21338835,0.125,0.03661165,
4: 0.0190983,0.0690983,0.1309017,0.1809017,0.2,0.1809017,0.1309017,0.0690983,0.0190983
5: 0.01116455,0.04166667,0.08333333,0.125,0.15550212,0.16666667,0.15550212,0.125,0.08333333,0.04166667,0.01116455
which reduce the RMS by 0.61, 0.49, 0.43, 0.38 and 0.34 resp.


Smoothing a map which has already been smoothed will result in an incorrect header - this would be a simple sum of squares, if the beams are aligned with the axis.


Peter Teuben


src/image/trans         ccdsmooth.c

Update History

29-jun-87    V1.0: Created as module from CCD program    PJT
30-Jun-87    V1.1: improved ’struct’ filestructure          PJT
 9-jul-87    V1.2: keyword ’dir’ and keyword order changed    PJT
 1-jun-88    V2.0: new filestruct, although code is same    PJT
 5-feb-89    V2.2: general 3D smoothing                    PJT
11-sep-91    some additional comments                    PJT
12-mar-98    V3.1: added cut=, fixed fwhm=0.0             PJT

Table of Contents