Examples

In this section, a few examples how to use of DPUSER are given. This very often is the fastest way to learn how a software package works.

Printing the ASCII character set

Assign the ASCII character set to a string variable and print it out
ascii = ""                              // create empty string variable
for (i = 32; i <= 255; i++) ascii += char(i) // assign values
print ascii                             // display on screen

Getting information on files

Create a list of files and show their sizes
list = findfile("*.cpp")                // find all C++ files
size = longarray(nelements(list))       // create matrix for file sizes
for (i = 1; i <= nelements(list); i++ {
  size[i] = filesize(list[i])           // assign values and print out
  print "file " + list[i] + " has a size of " + size[i] / 1024 + " kB"
}

Reducing speckle data

This example shows how a standard speckle data reduction could look like.
dark = cubeavg('darkcube.fits')         // create dark frame
sky  = cubeavg('sky.fits')              // sky
dpl  = dpixcreate(sky, 5)               // dead pixel list
dpl[128,*] = 1                          // assume 128th row is dead
flat = dpixapply(sky - dark, dpl) // create flat field
flat = median(flat) / flat              // take inverse of flat field
lxp  = dpixapply(cubeavg('object.cube') - sky, dpl)
                                        // long exposure
'object.lxp' = lxp                      // write lxp to disk
x    = xmax(lxp)
y    = ymax(lxp)                        // find position of maximum
naxis1 = naxis1(lxp)
naxis2 = naxis2(lxp)                    // set up global variables
mask = circle(x, y, 20)                 // create mask for ssa
'object.ssa' = ssa('object.cube', x, y, sky, flat, dpl, mask)
                                        // do ssa and write to disk
x    = naxis1 / 2 + 1
y    = naxis2 / 2 + 1                   // center of the array
psf  = norm(center('object.ssa') * cosbell(x, y, 5, 20))
                                        // Point Spread Function
'object.wien' = wien('object.ssa', psf) // deconvolve
This standard reduction works fine if the object is dominated by one bright source. For faint sources or many objects of comparable brightness in the field of view, a more sophisticated reduction is necessary. See the help on ssa for more information.