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.