
Compiled by:
N.B.: This document contains the headers of the main routine
xxx.pro of each module XXX, as well as the headers related to a couple
of utilities. You can find more information about each routine of the
AIRY_Software_Package_5.1 by editing the header of the routine itself, or alternatively
by typing in the IDL prompt:
doc_library, "routine_name"
the AIRY web-page
the CAOS web-page
NAME:
ADN
ROUTINE'S PURPOSE:
ADN manages the simulation for the ADd Noise (ADN) module,
that is to call the module's initialization routine (adn_init) at the first
iteration of the simulation project.
MODULE'S PURPOSE:
ADN permits to add photon noise, background noise, read-out noise and
dark-current noise to an image or a cube of images. ADN allows also to
simulate the saturation of the CCD as well as the perturbations due to
flat-field and bad-pixels.
CATEGORY:
main module's routine
CALLING SEQUENCE:
error = adn(inp_img_t, out_img_t, par, INIT=init)
OUTPUT:
error: long scalar (error code, see !caos_error var in caos_init.pro).
INPUTS:
inp_img_t: structure of type img_t.
par : parameters structure.
INCLUDED OUTPUTS:
out_img_t: structure of type "img_t" containing the characteristics of
the noisy map, the following fields are contained in
this structure:
out_img_t = $
{ $
data_type : out_type[0] , $
data_status: !caos_data.valid , $
image : noisy_map , $ ; IMAGE with same resolution as PSF.
npixel : inp_img_t.npixel , $ ; Number of pixels (per subaperture)
resolution : inp_img_t.resolution , $ ; Pixel size [arcsec/pix]
lambda : inp_img_t.lambda , $ ; Mean detection wavelength [m]
width : inp_img_t.width , $ ; Wavelength band width [m]
time_integ : inp_img_t.time_integ , $ ; Integration time for each image [s]
time_delay : 0. , $ ; [NOT USED WITHIN AIRY]
psf : 0B , $ ; this is an image, not a PSF
background : background , $ ; the value of the background
snr : 0. , $ ; [NOT YET EVALUATED]
angle : inp_img_t.angle $ ; hour angles [degrees]
}
KEYWORD PARAMETERS:
INIT: initialization data structure.
COMMON BLOCKS:
common caos_block, tot_iter, this_iter
tot_iter : total number of iteration during the simulation run.
this_iter : current iteration number.
SIDE EFFECTS:
none.
RESTRICTIONS:
none.
CALLED NON-IDL FUNCTIONS:
adn_add_noise.pro : add the noise (Poisson and Gaussian) in the map
adn_ccd_sat.pro : CCD saturation control
MODULE MODIFICATION HISTORY:
module written : version beta,
Serge Correia (OAA) [correia@arcetri.astro.it],
Marcel Carbillet (OAA) [marcel@arcetri.astro.it].
ROUTINE MODIFICATION HISTORY:
routine written: june 2000,
Serge Correia (OAA) [correia@arcetri.astro.it].
modifications : july 2000,
Marcel Carbillet (OAA) [marcel@arcetri.astro.it]:
-help completed.
-call to adn_prog eliminated (useless).
: january 2003,
Marcel Carbillet (OAA) [marcel@arcetri.astro.it]:
-use of variable "calibration" eliminited for version 4.0
of the whole system CAOS.
MODULE MODIFICATION HISTORY:
module written : Serge Correia (OAA) [correia@arcetri.astro.it].
modifications : for version 1.0,
Marcel Carbillet (OAA) [marcel@arcetri.astro.it]:
-help completed.
-call to adn_prog eliminated (useless).
: for version 2.0,
Marcel Carbillet (OAA) [marcel@arcetri.astro.it]:
-no more use of the common variable "calibration" and
the tag "calib" (structure "info") for version 4.0 of
the whole Software System CAOS.
: march 2004,
Barbara Anconelli (DISI) [anconelli@disi.unige.it]:
-now having control over initial seed when generating
read-out noise.
: april 2004,
Barbara Anconelli (DISI) [anconelli@disi.unige.it]:
-added possibility of choice between three type of noise:
poisson, read-out and dark-current
-having control over initial seed when generating also
poisson noise and dark-current noise.
: october 2005,
Gabriele Desidera' (DISI) [desidera@disi.unige.it]:
-use of variable "time_integ" now is active.
-fixed bug in calculation of dark_current noise
: april 2006,
Andrea La Camera (DISI) [lacamera@disi.unige.it]:
-CCD saturation and full-well capacity parameters added in
order to simulate the saturation of the CCD.
-function 'add_ccd_sat.pro' added.
: for version 5.0,
Andrea La Camera (DISI) [lacamera@disi.unige.it]:
-added possibility to simulate multi-frame images.
Multi-frame images cannot be saved (by WFT), but can be
only automatically reduced by using PRE.
-DITHERING added: each frame can be shifted in
two different ways:
a) random shifts: the positions will be created within a
circle of given radius;
b) user defined shifts: the values are stored into a file
and will be loaded in the ADN_ADD_NOISE procedure.
In this case each line of the file must contain X and
Y shifts, separated by a comma.
Dithering can be applied to either each frame or every N
frames (N is given by the user).
-Added the MASKing of the images.
-FLAT-FIELD and BAD-PIXELS perturbations added.
: march 2011,
Andrea La Camera (DISI) [lacamera@disi.unige.it]:
-added another TAB in the GUI containing the possibility
of clipping negative values after RON and converting the
output to an arbitrary IDL data type.
-The function "addnoise.pro" has been integrated
within the routine "adn_add_noise.pro".
: February 2012,
Andrea La Camera (DISI) [lacamera@disi.unige.it]:
-New way to call AIRY_HELP. By using the "online_help"
routine, we resolved a known-issue of the Soft.Pack.
(See adn/adn.pro)
NAME:
anb
ROUTINE'S PURPOSE:
ANB executes the simulation for the ANalysis Binary (ANB) module.
MODULE'S PURPOSE:
ANB module performs the astrometric and photometric analysis on a
restored binary type object.
CATEGORY:
main module's routine
CALLING SEQUENCE:
error = anb(inp_img_t, $
par, $
INIT=init )
OUTPUT:
error: long scalar (error code, see !caos_error var in caos_init.pro).
INPUTS:
inp_img_t: structure of type img_t (image type).
par : parameters structure from anb_gui.
KEYWORD PARAMETERS:
INIT: initialisation data structure
COMMON BLOCKS:
common caos_block, tot_iter, this_iter
tot_iter : total number of iteration during the simulation run.
this_iter : current iteration number.
SIDE EFFECTS:
none.
RESTRICTIONS:
1-In some cases, namely when the object is a double star of faint
magnitude the MMM algorithm can return an incorrect value (0) for
the background evaluation.
For this kind of cases it is recommended to use an alternative method
for background evaluation.
2- The background estimation done by PRE module can be contaminated
by the object if the extension
of the object is a large fraction of the image frame. The estimated mean value
of the sky background and especially its rms value are then biased.
A simple solution is to compute directly the mean background using
the routine n_phot (found in .../caos/lib/, help at the IDL/CAOS prompt with
the command <>). For example, with a 0.01 arcsec pixel
size, a telescope collecting surface of 10 m^2, an integration time of 100 s
and an overall efficiency of 0.3, the K band mean background (per pixel) is:
0.3*(n_phot(0.,BAND="K",DELTA_T=100.,SURF=10.))[1]*0.01^2
Then it is necessary to enter by hand the value found within the PRE module GUI
(using the option "consider a user-defined background").
CALLED NON-IDL FUNCTIONS:
ap_phot_cent.pro
ap_phot_cent_comp.pro
detect_binary_star.pro
legend_windt_m.pro
make_graph_bin.pro
model_binary.pro
ROUTINE MODIFICATION HISTORY:
routine written: october 2000,
Serge Correia (OAA) [marcel@arcetri.astro.it].
modifications : february 2003,
Marcel Carbillet (OAA) [marcel@arcetri.astro.it]:
-use of variable "calibration" eliminited for version 4.0
of the whole system CAOS.
: may 2011,
Marcel Carbillet (Fizeau) [marcel.carbillet@unice.fr]:
-help completed.
MODULE MODIFICATION HISTORY:
module written : Serge Correia (OAA) [correia@arcetri.astro.it].
modifications : for version 2.0,
Marcel Carbillet (OAA) [marcel@arcetri.astro.it]:
-no more use of the common variable "calibration" and
the tag "calib" (structure "info") for version 4.0 of
the whole Software System CAOS.
: for version 5.0,
Marcel Carbillet (Fizeau) [marcel.carbillet@unice.fr]:
-GUI resized.
: February 2012,
Andrea La Camera (DISI) [lacamera@disi.unige.it]:
-New way to call AIRY_HELP. By using the "online_help"
routine, we resolved a known-issue of the Soft.Pack.
(See anb/anb.pro)
NAME:
CBD
ROUTINE'S PURPOSE:
CBD manages the simulation for the Constrained Blind (or myopic)
Deconvolution (CBD) module, that is:
1-call the module's initialization routine cbd_init at the first
iteration of the simulation project,
2-call the module's program routine cbd_prog.
MODULE'S PURPOSE:
CBD performs the deconvolution of a cube of images (i.e. p images
corresponding to different orientations of the baseline) when
the user don't have a PSF.
The module gives back an image and an estimate of the PSF(s) and has in
input a PSF(s) and an image(s).
If the user has already an initial estimate of the PSF(s) he can give
it directly in input; otherwise the module generates an estimate by an
operation based on the autocorrelation operator on the image supplied
in input.
It is possible to obtain these two reconstructions by perform
alternatively two partial reconstructions, the first one to the image(s)
and the second one to the PSF(s).
There are two different methods for image deconvolution and just one
for PSFs reconstruction. In the first case the user can choose between
the OS-EM method (see for details: "Application of the OS-EM method to the
restoration of LBT images", M. Bertero and P. Boccacci, A&AS 144,
May 2000, 181-186) and the LR-EM method.
CBD fits the PSFs dimensions to the images dimensions, if they do not
match, through zero-padding.
The background evaluation performed by PRE module is used to restore
the object with a correct sky-value, while the reconstructed PSFs are
managed without background (this is subtracted before the deconvolution
process).
In this version no stopping rule is given. The rates of convergence may
be different for different types of objects.
This algorithm is sensible to the number of the iterations that the user
set in the reconstruction box of images and PSFs.
In the case of a point-like stellar object, it is easy to have a good
estimate of the initial PSFs.
In the case of diffuse objects (i.e. galaxies) is more difficult to obtain
a good estimate about the PSFs shape making the autocorrelation of the
input image and it is recommended to supply a different one.
CATEGORY:
main module's routine
CALLING SEQUENCE:
error = cbd(inp_img_t2, out_psf_t, out_img_t, par, INIT=init)
OUTPUT:
error: long scalar (error code, see !caos_error var in caos_init.pro).
INPUTS:
inp_img_t2: structure of type img_t, corresponding to images
par : parameters structure.
INCLUDED OUTPUTS:
out_psf_t: structure of type "img_t" (with one more feature, the filter
to use to maintain in band the same PSFS) containing the
characteristics of the deconvolved PSF(s).
out_img_t: structure of type "img_t" containing the characteristics of
the deconvolved object.
KEYWORD PARAMETERS:
INIT: initialization data structure.
COMMON BLOCKS:
common caos_block, tot_iter, this_iter
tot_iter : int scalar. Total number of iteration during the
simulation run.
this_iter : int scalar. Number of the current iteration. It is
defined only while status eq !caos_status.run.
(this_iter >= 1).
SIDE EFFECTS:
none.
RESTRICTIONS:
none.
CALLED NON-IDL FUNCTIONS:
-other routine from the folder .../cbd/cbd_gui_lib.
ROUTINE MODIFICATION HISTORY:
routine written: May 2005,
Gabriele Desidera' (DISI) [desidera@disi.unige.it].
MODULE MODIFICATION HISTORY:
module written : december 2008,
Gabriele Desidera' (DISI) [desidera@disi.unige.it].
modifications : for version 5.0,
Gabriele Desidera' (DISI) [desidera@disi.unige.it]:
-the module (previously called BLI) has been renamed in
CBD after the work done for the paper (+revisions):
G. DesiderĂ , M. Carbillet, "Strehl-constrained iterative
blind deconvolution for post-adaptive-optics data", 2009,
A&A 507, pp. 1759-1762.
: February 2012,
Andrea La Camera (DISI) [lacamera@disi.unige.it]:
-output's order exchanged: (WAS) top=PSF, bottom=OBJ;
(NOW IS) top=OBJ, bottom=PSF, as it is in the whole
Soft.Pack.AIRY
-New way to call AIRY_HELP. By using the "online_help"
routine, we resolved a known-issue of the Soft.Pack.
(See cbd/cbd.pro)
NAME:
cnv
ROUTINE'S PURPOSE:
cnv manages the simulation for the CoNVolution (CNV) module,
that is to call the module's initialization routine cnv_init at the first
iteration of the simulation project.
MODULE'S PURPOSE:
CNV permits to make a convolution between a 2D (3D) PSFs and an object
2D (3D) map. The parameters related to the observing conditions (efficiency,
integration time, telescope surface collecting surface) can be chosen.
The pixel size of the resulting cube of images is driven by the PSFs pixel
size, whatever is the object map one. Both the object map and the PSFs
arrays are by the way put in 2^N (N integer) pixels arrays, if they are
not originally 2^N arrays. The maximum size for this last operation is
set to 2048 pixels (that corresponds to N=11).
CATEGORY:
main module's routine
CALLING SEQUENCE:
error = cnv(inp_img_t, inp_src_t, out_img_t, par, INIT=init)
OUTPUT:
error: long scalar (error code, see !caos_error var in caos_init.pro).
INPUTS:
inp_img_t: structure of type img_t.
inp_src_t: structure of type src_t.
par : parameters structure.
INCLUDED OUTPUTS:
out_img_t: structure of type "img_t" containing the characteristics of
the convolved map, the following fields are contained in
this structure:
out_img_t = $
{ $
data_type : out_type[0] , $
data_status: !caos_data.valid , $
image : image , $ ; IMAGE with same resolution as PSF.
npixel : nb_pix , $ ; Number of pixels (per subaperture)
resolution : inp_img_t.resolution, $ ; Pixel size [arcsec/pix]
lambda : lambda[0] , $ ; Mean detection wavelength [m]
width : width[0] , $ ; Wavelength band width [m]
time_integ : par.int_time , $ ; Integration time for each image [s]
time_delay : 0. , $ ; [NOT USED WITHIN AIRY]
psf : 0B , $ ; IMAGE=1, PSF=0
background : back_frame , $ ; sky background flux [ph/pixel]
snr : 0. , $ ; [NOT YET EVALUATED]
angle : angle $ ; hour angles [degrees]
}
KEYWORD PARAMETERS:
INIT: initialisation data structure.
COMMON BLOCKS:
common caos_block, tot_iter, this_iter
tot_iter : total number of iteration during the simulation run.
this_iter : current iteration number.
SIDE EFFECTS:
none.
RESTRICTIONS:
The object map and the PSFs arrays are put to 2^N (N integer) pixels
arrays if they are not originally 2^N arrays.
Doing it the maximum size is set to 2048 pixels (that corresponds to N=11).
CALLED NON-IDL FUNCTIONS:
ROUTINE MODIFICATION HISTORY:
routine written: june 2000,
Serge Correia (OAA) [correia@arcetri.astro.it].
modifications : july 2000,
Marcel Carbillet (OAA) [marcel@arcetri.astro.it]:
-help completed.
-call to cnv_prog eliminated (useless).
-parameters needed for image complete definition now
considered (total efficiency, telescope collecting
surface, integration time).
: february 2003,
Marcel Carbillet (OAA) [marcel@arcetri.astro.it]:
-use of variable "calibration" eliminited for version 4.0
of the whole system CAOS.
: december 2003,
Marcel Carbillet (OAA) [marcel@arcetri.astro.it]:
-help completed.
: october 2005,
Gabriele Desidera' (DISI) [desidera@disi.unige.it],
-use of variable "time_integ" activated for the output structure.
MODULE MODIFICATION HISTORY:
module written : version beta,
Serge Correia (OAA) [correia@arcetri.astro.it],
Marcel Carbillet (OAA) [marcel@arcetri.astro.it].
modifications : for version 2.0,
Marcel Carbillet (OAA) [marcel@arcetri.astro.it]:
-no more use of the common variable "calibration" and
the tag "calib" (structure "info") for version 4.0 of
the whole Software System CAOS.
: for version 5.0;
Andrea La Camera (DISI) [lacamera@disi.unige.it]:
-added the possibility to convolve objects and PSF
"many to many" (it was "one to many").
-added possibility to simulate multi-frame images.
Multi-frame images cannot be saved (by WFT), but only auto-reduced
by PRE module.
: February 2012,
Andrea La Camera (DISI) [lacamera@disi.unige.it]:
-New way to call AIRY_HELP. By using the "online_help"
routine, we resolved a known-issue of the Soft.Pack.
(See cnv/cnv.pro)
NAME:
dec
ROUTINE'S PURPOSE:
dec manages the simulation for the image deconvolution (dec) module,
that is:
1-call the module's initialization routine dec_init at the first
iteration of the simulation project,
2-call the module's program routine dec_prog.
MODULE'S PURPOSE:
DEC performs the deconvolution of a cube of images (i.e. p images
corresponding to different orientations of the baseline). There are
three different methods for image deconvolution: the OS-EM method
(see for details: "Application of the OS-EM method to the
restoration of LBT images", M. Bertero and P. Boccacci, A&AS 144,
May 2000, 181-186), the LRM (Lucy Richardson Method) and ISRA
(Image Space Reconstruction Algorithm).
There is an accelerate version of OS-EM (Lanteri et al.) where
the user has the possibility to choose an acceleration exponent
(2, 3, 5, 8). This last method can allow an accelereration by a
factor 2, 3, 5, or 8 in computational time and the restoration error
should be the same as that the standard version. (see for details:
"Restoration of interferometric images. III. Efficient Richardson-Lucy
methods for LINC-NIRVANA data reduction", B. Anconelli, M. Bertero,
P. Boccacci, M. Carbillet, & H. Lanteri A&A 431, 731-738 (2005)).
When the object is complex, like a high dynamic object, the user can
use a regularization version of the method. In this case he has the
choice between a convex and two pseudo-convex regularization.
DEC fits the PSFs dimensions to the images dimensions, if they do not
match, through zero-padding. (see for details: "Iterative methods for
the reconstruction of astronomical images with high dynamic range"
B. Anconelli, M. Bertero, P. Boccacci, M. Carbillet & H. Lanteri,
JCAM (2005))
The background evaluation performed by PRE module is used to restore
the object with a correct sky-value.
In this version no stopping rule is given. The rates of convergence may
be different for different types of objects.
In the case of diffuse objects (i.e. galaxies) a typical number of
iterations could be ~100. While in the case of point-like objects (e.g.
binary stars) the iterations can be pushed up to 5000 or 10000.
In DEC we have also an algorithm for super-resolving compact objects such
as a binary system with an angular separation smaller than the angular
resolution of the telescope. (see for details: "Restoration of
interferometric images. IV. An algorithm for super-resolution of stellar
systems", B. Anconelli, M. Bertero, P. Boccacci & M. Carbillet, A&A 431,
747-755 (2005))
The method is based on a simple modification of the LR method and in
general consist of 3 steps: the first one requires a large number of OS-EM
iterations (typically 10000), which are used to estimate the domain of the
unresolved object; the second one is a RL-restoration (typically 5000
iterations) inizialized with the mask of the domain, as estimated in
step 1.
These two steps are used to estimate the positions of the two stars while
their magnitudes can be obtained in a possible 3rd step by solving a
simple least-squares problem. The first two steps are included in dec.
In the second step it is possible to choose, in the interface, the image
and the mask used to initialized the method. The mask is an image with
values 0 or 1. There are 3 kind of masks: the 1st is a mask based on
percentage of the image maximum, the 2nd one is a circular mask, and the 3rd
is a user-defined mask.
DEC allows also to reduce the boundary effect in the
reconstructed image (see for details: "Restoration of boundary effects in
multiple image deconvolution with an application to LBT LINC-NIRVANA",
B. Anconelli, M. Bertero, P. Boccacci & M. Carbillet, A&A 437, 369-374 (2005)).
Please pay attention to the fact that the TOP BOX-INPUT of the module dec
is supposed to receive images, while the BOTTOM BOX-INPUT of the module
dec is supposed to receive PSFs.
CATEGORY:
main module's routine
CALLING SEQUENCE:
error = dec(inp_img_t1, inp_img_t2, out_img_t, par, INIT=init)
OUTPUT:
error: long scalar (error code, see !caos_error var in caos_init.pro).
INPUTS:
inp_img_t1: structure of type img_t, corresponding to PSF's
inp_img_t2: structure of type img_t, corresponding to images
par : parameters structure.
INCLUDED OUTPUTS:
out_img_t: structure of type "img_t" containing the characteristics of
the deconvolved object, the following fields are contained in
this structure:
out_img_t = $
{ $
data_type : out_type[0] , $
data_status: !caos_data.valid , $
image : cube , $
psf : 0B , $ ; This flag indicates that this is a IMAGE
npixel : N , $ ; Number of pixels (per subaperture)
resolution : inp_img_t2.resolution , $ ; Pixel size [arcsec/pix]
lambda : inp_img_t2.lambda , $ ; Mean detection wavelength [m]
width : inp_img_t2.width , $ ; Wavelength band width [m]
time_integ : inp_img_t2.time_integ , $ ; Integration time for each image [s]
time_delay : inp_img_t2.time_delay , $ ; [NOT USED WITHIN AIRY]
background : inp_img_t2.background , $ ; background
snr : inp_img_t2.snr , $ ; snr
angle : inp_img_t2.angle $ ; hour angles [degrees]
}
KEYWORD PARAMETERS:
INIT: initialization data structure.
COMMON BLOCKS:
common caos_block, tot_iter, this_iter
tot_iter : int scalar. Total number of iteration during the
simulation run.
this_iter : int scalar. Number of the current iteration. It is
defined only while status eq !caos_status.run.
(this_iter >= 1).
SIDE EFFECTS:
none.
RESTRICTIONS:
none.
CALLED NON-IDL FUNCTIONS:
-other routine from the folder .../dec/dec_gui_lib.
ROUTINE MODIFICATION HISTORY:
routine written: november 1999,
Massimo Barbati (USG) [massimo@dirac.disi.unige.it].
modifications : march 2000,
Marcel Carbillet (OAA) [marcel@arcetri.astro.it]:
-adapted to dec version of the CAOS structure (v 2.0).
: may 2000,
Massimo Barbati (USG) [massimo@dirac.disi.unige.it]:
-Help form, Restore form.
-Variables Names, Comments.
: july 2000,
Massimo Barbati (USG) [massimo@dirac.disi.unige.it]:
-beta version for package AIRY.
: july 2000,
Marcel Carbillet (OAA) [marcel@arcetri.astro.it]:
-help completed + a few minor changes.
: Barbara Anconelli (DISI) [anconelli@disi.unige.it]:
-help completed.
MODULE MODIFICATION HISTORY:
module written : Massimo Barbati (USG) [massimo@dirac.disi.unige.it].
modifications : for version 2.0,
Barbara Anconelli (DISI) [anconelli@disi.unige.it]:
-second output of type "src_t" added.
-super-resolution stuff added.
: for version 2.0,
Marcel Carbillet (OAA) [marcel@arcetri.astro.it]:
-no more use of the common variable "calibration" and
the tag "calib" (structure "info") for version 4.0 of
the whole Software System CAOS.
: for version 2.0,
Serge Correia (AIP) [scorreia@aip.de]:
-added the possibility to choose between the OS-EM method
and the LR/EM method (par.method added).
: for version 2.0,
Barbara Anconelli (DISI) [anconelli@disi.unige.it],
Marcel Carbillet (OAA) [marcel@arcetri.astro.it]:
-"real acquisition" button commented and 2nd output of type
"src_t" momentaneously eliminated.
-normalization constant "c" from PAR to INIT structure.
-background substracted from PSF too now.
: for version 3.0,
Barbara Anconelli (DISI) [anconelli@disi.unige.it],
-added a dec accelerate version of OS-EM method (par.acc
addded)
-ISRA method inserted
-added regularization for OS-EM method.
-visualization of a mask added.
-restructuration of interface
-choice of differents regularizations type added
: for version 4.0,
Gabriele Desidera' (DISI) [desidera@disi.unige.it],
-use of variable "time_integ" activated for the output structure
-added possibility to reduce boundary effect
: for version 5.0,
Gabriele Desidera' (DISI) [desidera@disi.unige.it],
-eliminated variables concerning regularizations with
alpha=0.5 and alpha=1.
-image type (img_t) completed (tag "angle" added).
: may 2011,
Andrea La Camera (DISI) [lacamera@disi.unige.it]:
-routine debugged.
: February 2012,
Andrea La Camera (DISI) [lacamera@disi.unige.it]:
-New way to call AIRY_HELP. By using the "online_help"
routine, we resolved a known-issue of the Soft.Pack.
(See dec/dec.pro)
NAME:
dsp
ROUTINE'S PURPOSE:
dsp manages the simulation for the data DiSPlay (DSP) module,
that is:
1-call the module's initialization routine dsp_init at the first
iteration of the simulation project,
2-call the module's program routine dsp_prog otherwise.
MODULE'S PURPOSE:
DSP executes the simulation for the data DiSPlay (DSP) module.
It can display the relevant field of each defined output type
of the Software Package AIRY, i.e.:
-source/object type (src_t or obj_t):
displays the 2D-map.
-image type (img_t):
displays either a single 2D image or a series of 2D images in several
display windows.
CATEGORY:
main module's routine
CALLING SEQUENCE:
error = dsp(inp_yyy_t, par, INIT=init)
OUTPUT:
error: long scalar (error code, see !caos_error var in caos_init.pro).
INPUTS:
inp_yyy_t: structure of type yyy_t.
par : parameters structure from dsp_gui.
KEYWORD PARAMETERS:
INIT: initialization structure.
COMMON BLOCKS:
common caos_block, tot_iter, this_iter
tot_iter : total number of iteration during the simulation run.
this_iter : current iteration number.
SIDE EFFECTS:
none.
RESTRICTIONS:
none.
CALLED NON-IDL FUNCTIONS:
launch_dsp
display_3d
image_show2
win_pos_manager
ROUTINE MODIFICATION HISTORY:
program written: march 2001,
Marcel Carbillet (OAA) [marcel@arcetri.astro.it].
modifications : february 2003,
Marcel Carbillet (OAA) [marcel@arcetri.astro.it]:
-use of variable "calibration" eliminited for version 4.0
of the whole system CAOS.
MODULE MODIFICATION HISTORY:
module written : Marcel Carbillet (OAA) [marcel@arcetri.astro.it].
(from module DIS of Software Package CAOS).
modifications : for version 1.0,
Serge Correia (OAA) [correia@arcetri.astro.it]:
-zoom and display modes (sqrt, log, etc.) added.
: for version 2.0,
Marcel Carbillet (OAA) [marcel@arcetri.astro.it]:
-no more use of the common variable "calibration" and
the tag "calib" (structure "info") for version 4.0 of
the whole Software System CAOS.
: for version 5.0,
Andrea La Camera (DISI) [lacamera@disi.unige.it],
Gabriele DesiderĂ (DISI) [desidera@disi.unige.it]:
-Multi-frame case implemented.
: February 2012,
Andrea La Camera (DISI) [lacamera@disi.unige.it]:
-New way to call AIRY_HELP. By using the "online_help"
routine, we resolved a known-issue of the Soft.Pack.
(See dsp/dsp.pro)
NAME:
fsm
ROUTINE'S PURPOSE:
FSM executes the simulation for the Find Stars Module (FSM) module.
MODULE'S PURPOSE:
FSM module find stars and perform the astrometric and photometric analysis,
given a detection threshold expressed in RMS background (like in PRE module
the MMM algorithm is used for background evaluation, unless it fails in which
case the border of the frame is used to compute this value).
A final display, in square-root scale, is given with the found stars encircled,
as well as the listing of the stars location and aperture photometry.
CATEGORY:
main module's routine
CALLING SEQUENCE:
error = fsm(inp_img_t, $
par, $
INIT=init )
OUTPUT:
error: long scalar (error code, see !caos_error var in caos_init.pro).
INPUTS:
inp_img_t: structure of type img_t (image type).
par : parameters structure from fsm_gui.
KEYWORD PARAMETERS:
INIT: initialization data structure
COMMON BLOCKS:
common caos_block, tot_iter, this_iter
tot_iter : total number of iteration during the simulation run.
this_iter : current iteration number.
SIDE EFFECTS:
none.
RESTRICTIONS:
1-In some cases, namely when the object is a double star of faint
magnitude the MMM algorithm can return an incorrect value (0) for
the background evaluation.
For this kind of cases it is recommended to use an alternative method
for background evaluation.
2- The background estimation done by PRE module can be contaminated
by the object if the extension
of the object is a large fraction of the image frame. The estimated mean value
of the sky background and especially its rms value are then biased.
A simple solution is to compute directly the mean background using
the routine n_phot (found in .../caos/lib/, help at the IDL/CAOS prompt with
the command <>). For example, with a 0.01 arcsec pixel
size, a telescope collecting surface of 10 m^2, an integration time of 100 s
and an overall efficiency of 0.3, the K band mean background (per pixel) is:
0.3*(n_phot(0.,BAND="K",DELTA_T=100.,SURF=10.))[1]*0.01^2
Then it is necessary to enter by hand the value found within the PRE module GUI
(using the option "consider a user-defined background").
CALLED NON-IDL FUNCTIONS:
amas_phot_m.pro
astrolib_find.pro
astrolib_find_module.pro
ROUTINE MODIFICATION HISTORY:
routine written: october 2000,
Serge Correia (OAA) [correia@arcetri.astro.it].
modifications : february 2003,
Marcel Carbillet (OAA) [marcel@arcetri.astro.it]:
-use of variable "calibration" eliminited for version 4.0
of the whole system CAOS.
: june 2003,
Serge Correia (AIP) [scorreia@aip.de]:
-status common variable eliminated.
: december 2003,
Marcel Carbillet (OAA) [marcel@arcetri.astro.it]:
-help completed.
: may 2011,
Marcel Carbillet (Fizeau) [marcel.carbillet@unice.fr]:
-help completed.
MODULE MODIFICATION HISTORY:
module written : Serge Correia (OAA) [correia@arcetri.astro.it].
modifications : for version 2.0,
Marcel Carbillet (OAA) [marcel@arcetri.astro.it]:
-no more use of the common variable "calibration" and
the tag "calib" (structure "info") for version 4.0 of
the whole Software System CAOS.
: February 2012,
Andrea La Camera (DISI) [lacamera@disi.unige.it]:
-New way to call AIRY_HELP. By using the "online_help"
routine, we resolved a known-issue of the Soft.Pack.
(See fsm/fsm.pro)
NAME:
obj
ROUTINE'S PURPOSE:
OBJ manages the simulation for the OBJect (OBJ) module,
that is:
1-call the module's initialization routine obj_init.pro at the first
iteration of the project
2-call the module's program routine obj_prog.pro otherwise.
MODULE'S PURPOSE:
OBJ permits to define map of different types of astronomical objects as
a target for observation and/or subsequent image reconstruction/deconvolution.
Current object types are: single star, binary object, open cluster,
planetary nebulae, supernovae remnant, spiral galaxy, Young Stellar Objects (YSOs),
stellar surface and user-defined.
For each object type the map is defined by its dimension [npixel] and pixel size.
In particular, some remarks concerning the definition of some objects are the
following :
Single star : pixel located at [npixel/2,npixel/2] containing all the flux
(i.e. unresolved star or point source).
One may pay attention to the fact that such a definition will
creates artifacts if one use PSFs (for both the convolution/
modelization and deconvolution) which are centered on
[npixel-1/2,npixel-1/2].
A work around is to use a dirac map (pixel at [0,0] set to 1,
0 elsewhere) within the user-defined object type.
Binary object : Formed by two point-source stars for which the barycenter
(not photocenter) is located in [npixel/2,npixel/2].
In order to center each component on a pixel, the separation
and position angle may vary slightly from the one set by
user in the GUI. A warning appears if such a variation is
more than 1%.
CATEGORY:
main module's routine
CALLING SEQUENCE:
error = obj(out_obj_t, par, INIT=init)
OUTPUT:
error: long scalar (error code). see !caos_error var in caos_init.pro.
INPUTS:
none.
INCLUDED OUTPUTS:
out_obj_t: structure of type "src_t" containing the characteristics of
the selected source, the following fields are contained in
this structure:
off_axis : [NOT USED]
pos_ang : [NOT USED]
dist_z : [NOT USED]
map : object 2D map
scale_xy : map scale [rd/px]
coord : [NOT USED]
scale_z : [NOT USED]
n_phot : number(s) of photons [/s/m^2] (vs. wavelength)
background: sky background(s) [/s/m^2/arcsec^2] (id.)
lambda : wavelength(s) [m]
width : band-width(s) [m]
KEYWORD PARAMETERS:
INIT: named variable undefined or containing a scalar when obj is
called for the first time. As output the named variable will
contain a structure of the initialization data. For the following
calls of obj, the keyword INIT has to be set to the structure
returned by the first call.
COMMON BLOCKS:
common caos_ao_block, tot_iter, this_iter
tot_iter : total number of iteration during the simulation run.
this_iter : current iteration number.
SIDE EFFECTS:
none.
RESTRICTIONS:
The "Object total magnitude" field within the sub-GUIs "YSOs"
and "Spiral galaxy" remains to the original value although it has been changed
and the whole set of parameters was saved before.
This is just a display problem, since the change of this value is effectively
taken into account (as it can be seen at the IDL/CAOS prompt line).
PROCEDURE:
none.
CALLED NON-IDL FUNCTIONS:
-n_phot : for number of photons calculus (see in .../lib).
-spec2mag: to transform a V-magnitude into any other band
magnitude (see in .../lib).
-other routines from the astrolib/astron IDL library
-other routines from the folder .../obj/obj_lib
and the folder .../obj/obj_gui_lib
ROUTINE MODIFICATION HISTORY:
program written: may 2000,
Serge Correia (OAA) [correia@arcetri.astro.it].
modifications : july 2000,
Marcel Carbillet (OAA) [marcel@arcetri.astro.it]:
-help completed.
: february 2003,
Marcel Carbillet (OAA) [marcel@arcetri.astro.it]:
-use of variable "calibration" eliminited for version 4.0
of the whole system CAOS.
-call to obj_prog eliminated (useless).
: november 2003,
Serge Correia (AIP) [scorreia@aip.de]:
-help updated.
MODULE MODIFICATION HISTORY:
program written: version beta,
Serge Correia (OAA) [correia@arcetri.astro.it].
: for version 2.0,
Marcel Carbillet (OAA) [marcel@arcetri.astro.it]:
-no more use of the common variable "calibration" and
the tag "calib" (structure "info") for version 4.0 of
the whole Software System CAOS.
-obj_prog eliminated since it was irrelevant.
: for version 2.0 too,
Serge Correia (AIP) [scorreia@aip.de]:
-object type single star added.
-help updated.
: for version 5.0,
Andrea La Camera (DISI) [lacamera@disi.unige.it]:
-flux constants are now "float" instead of "int",
-object type (obj_t) completed (tag angle added),
-modeling of elliptical disk, gaussian and stellar surface debugged.
: February 2012,
Andrea La Camera (DISI) [lacamera@disi.unige.it]:
-New sub-GUIs for Planetary Nebula, SNR, Spiral galaxy, YSO,
and user-defined objects.
-Bug fixed in parameter restoring procedure (esp. Planetary
nebula and SNR).
-Small changes in the text of the GUI.
-New way to call AIRY_HELP. By using the "online_help"
routine, we resolved a known-issue of the Soft.Pack.
(See obj/obj.pro)
NAME:
pex
ROUTINE'S PURPOSE:
pex manages the simulation for the PEX module, that is to call
the module's initialization routine pex_init at the first iteration
of the simulation project.
MODULE'S PURPOSE:
PEX performs PSF extrapolation from a cube of images (or from a single
image). The extraction can be done either when project is "set up" (when
parameters of the modules are chosen and saved) or when project runs.
This operation is divided between PEX_OPEN_GUI and PEX_INIT procedures.
PEX_OPEN_GUI: users can load the image, set up scale, zoom, etc.,
then they can select one or more star with a simple
point&click operation, and also select a suitable
'radius of extraction' (R) and the value of the beta parameter.
Users have to complete the information about PSF
(pixel-size, band, etc.).
PEX_INIT: PSF is extracted by following steps:
For each selected star,
- centroid of the star is computed and its position is shifted
to the center of the image with a sub-pixel precision;
- a domain of size 2R x 2R is extracted from the central region
(this image will be denoted by H);
- Moffat extrapolation of H(n) (where n=[n1,n2] is the multi-index
characterizing the pixels of the image) is executed by following
sub-steps:
-- a first estimation of background is performed with a bilinear
function: B(n) = a0 + a1*n1 + a2*n2
-- the image H - a1*n1 - a2*n2 is fitted with a circular
symmetric Moffat function:
b1
M0(r) = b0 + ------------------- where r = sqrt(n1^2 + n2^2)
(1 + r^2 / b2^2)^beta
-- the estimated values of the parameters ai and bi are used as
initial guesses for a least-squares best-fitting of H(n) with
a rotated elliptical Moffat function superimposed with a
linear varying background:
c3
M(n) = c0 + c1*n1 + c2*n2 + -----------------------------------
(1 + (n1'/c4)^2 + (n2'/c5)^2)^beta
where n1'=n1*cos(q) + n2*sin(q) and n2'=-n1*sin(q) + n2*cos(q).
The value of b2 is the initial guess for both c4 and c5,
while the initial guess of the rotation angle q in zero.
-- the extracted image H(n) is merged into the sampled function
M(n) defined on the full image and the linearly background is
subtracted and the result is normalized to unit volume.
If several stars are selected in the same image, the median of
all the results of previous procedure is computed and this is
normalized again to unit volume.
CATEGORY:
main module's routine
CALLING SEQUENCE:
error = pex(out_img_t, par)
OUTPUT:
error: long scalar (error code, see !caos_error var in caos_init.pro).
INCLUDED OUTPUTS:
out_img_t: structure of type img_t.
OUTPUT IMAGE = PSF EXTRACTED
COMMON BLOCKS:
common caos_block, tot_iter, this_iter
tot_iter : total number of iteration during the simulation run.
this_iter : current iteration number.
SIDE EFFECTS:
none.
RESTRICTIONS:
none.
CALLED NON-IDL FUNCTIONS:
PEX_APPEND, PEX_REMOVE, PEX_CIRCLE (called by PEX_GUI, see PEX_GUI_LIB dir)
PEX_PSF_EXTRAPOLATION (called by PEX_INIT, see PEX_LIB dir)
MPFIT2DFUN, MPFIT, MPFIT2DPEAK (called by PSF_EXTRAPOLATION -
routines written by Craig B. Markwardt, see each file *.pro
in PEX_LIB directory for details)
PEX_CIRCULAR_MASK (called by PEX_PSF_EXTRAPOLATION, see PEX_LIB directory)
ROUTINE MODIFICATION HISTORY:
routine written: January 2007,
Andrea La Camera (DISI) [lacamera@disi.unige.it].
modifications :
MODULE MODIFICATION HISTORY:
module written : Andrea La Camera (DISI) [lacamera@disi.unige.it].
modifications
: January 2007,
Andrea La Camera (DISI) [lacamera@disi.unige.it]:
-PEX module is projected to be used in case of Space-Variant PSF
extraction, by splitting the image into severals domains and
extracting the PSF from each domain.
This operation is NOT IMPLEMENTED YET, however data structures
(esp. xsave, ysave and nb_click arrays) include a "domain"
subdivision of the image.
(In case of Space-Invariant PSF, the image coincides with the
unique domain).
PLEASE DON'T DELETE ANY COMMENTED (three ";") LINE.
: October 2008,
Andrea La Camera (DISI) [lacamera@disi.unige.it]:
-Added the possibility to extract the PSF when project runs, LPX_GUI
now is a sort of "before-gui". A new procedure called LPX_OPEN_GUI has
been created for managing the Graphical User Interface.
: February 2011,
Andrea La Camera (DISI) [lacamera@disi.unige.it]:
-routine debugged. Domains deleted (not really used)
: December 2011,
Andrea La Camera (DISI) [lacamera@disi.unige.it]:
-file "find_dim.pro" has been deleted [not really used]
-files "circular_mask.pro", "psf_extrapolation.pro", "append.pro",
"remove.pro", and "circle.pro" have been renamed by adding the prefix
'pex_' to each filename. Apt changes to the functions/procedures.
: February 2012,
Andrea La Camera (DISI) [lacamera@disi.unige.it]:
-New way to call AIRY_HELP. By using the "online_help"
routine, we resolved a known-issue of the Soft.Pack.
(See pex/pex.pro)
NAME:
pre
ROUTINE'S PURPOSE:
pre manages the simulation for the pre-processing (pre) module,
that is to call the module's initialization routine pre_init at the first
iteration of the simulation project.
MODULE'S PURPOSE:
pre permits to pre-process a cube of images before a subsequent image
restoration/deconvolution process. More precisely, the module permits:
- data reduction (also called data calibration),
- shift-and-add procedure for multi-frame images,
- positivization of the calibrated images,
- sky background evaluation,
- SNR evaluation,
- images re-centering.
CATEGORY:
main module's routine
CALLING SEQUENCE:
error = pre(inp_img_t, out_img_t, par, INIT=init )
OUTPUT:
error: long scalar (error code, see !caos_error var in caos_init.pro).
INPUTS:
inp_img_t: structure of type img_t.
par : parameters structure.
INCLUDED OUTPUTS:
out_img_t: structure of type "img_t" containing the characteristics of
the pre-processed map, the following fields are contained in
this structure:
out_img_t = $
{ $
data_type : out_type[0] , $
data_status: !caos_data.valid , $
image : pre_map , $ ; image map
npixel : inp_img_t.npixel , $ ; number of pixels
resolution : inp_img_t.resolution , $ ; pixel size [arcsec/pix]
lambda : inp_img_t.lambda , $ ; mean detection wavelength [m]
width : inp_img_t.width , $ ; wavelength band width [m]
time_integ : inp_img_t.time_integ , $ ; Integration time for each image [s]
time_delay : inp_img_t.time_delay , $ ; [NOT USED WITHIN AIRY]
psf : inp_img_t.psf , $ ; image or PSF ?
background : back , $ ; estimated sky background level of the
; pre-processed maps
snr : snr , $ ; estimated peak SNR of the
; pre-processed maps
angle : inp_img_t.angle $ ; hour angles [degrees]
}
KEYWORD PARAMETERS:
INIT: initialization data structure.
COMMON BLOCKS:
common caos_block, tot_iter, this_iter
tot_iter : total number of iteration during the simulation run.
this_iter : current iteration number.
SIDE EFFECTS:
none.
RESTRICTIONS:
1-In some cases, namely when the object is a double star of faint
magnitude the MMM algorithm can return an incorrect value (0) for
the background evaluation.
For this kind of cases it is recommended to use an alternative method
for background evaluation.
2- The background estimation done by PRE module can be contaminated
by the object if the extension
of the object is a large fraction of the image frame. The estimated mean value
of the sky background and especially its rms value are then biased.
A simple solution is to compute directly the mean background using
the routine n_phot (found in .../caos/lib/, help at the IDL/CAOS prompt with
the command <>). For example, with a 0.01 arcsec pixel
size, a telescope collecting surface of 10 m^2, an integration time of 100 s
and an overall efficiency of 0.3, the K band mean background (per pixel) is:
0.3*(n_phot(0.,BAND="K",DELTA_T=100.,SURF=10.))[1]*0.01^2
Then it is necessary to enter by hand the value found within the PRE module GUI
(using the option "consider a user-defined background").
CALLED NON-IDL FUNCTIONS:
phot_rec.pro : re-center the map wrt the photocenter location
sky_back_sub : estimate the sky background level of a map
using the astrolib routine SKY.
ROUTINE MODIFICATION HISTORY:
routine written: june 2000,
Serge Correia (OAA) [correia@arcetri.astro.it].
modifications : july 2000,
Marcel Carbillet (OAA) [marcel@arcetri.astro.it]:
-help completed.
-call to routine pre_prog eliminated (useless).
: february 2003,
Marcel Carbillet (OAA) [marcel@arcetri.astro.it]:
-use of variable "calibration" eliminated for version 4.0
of the whole system CAOS.
MODULE MODIFICATION HISTORY:
module written : Serge Correia (OAA) [correia@arcetri.astro.it].
modifications : for version 1.0,
Marcel Carbillet (OAA) [marcel@arcetri.astro.it]:
-help completed.
-call to pre_prog eliminated (useless).
: for version 2.0,
Marcel Carbillet (OAA) [marcel@arcetri.astro.it]:
-no more use of the common variable "calibration" and
the tag "calib" (structure "info") for version 4.0 of
the whole Software System CAOS.
: for version 2.0 too,
Barbara Anconelli (DISI) [anconelli@disi.unige.it]
-added the possility for the user to subtract sky
background from the images.
: for version 4.0,
Gabriele Desidera' (DISI) [desider@disi.unige.it]:
-use of the variable "time_integ" activated.
: for version 5.0,
Andrea La Camera (DISI) [lacamera@disi.unige.it]:
-added possibility to simulate multi-frame images.
Multi-frames images cannot be saved (by WFT), but only
auto-reduced by PRE module (this module),
-Added DATA REDUCTION for raw images (BAD-PIXEL MAP,
FLAT-FIELD MAP, DARK CURRENT MAP and BIAS MAP),
-Added SHIFT-AND-ADD method. The values of the shift can
be either stored in a text file (x_shift, y_shift in
every line) or calculated by correlation (with integer or
sub-pixel accuracy),
-Apodization has been removed (obsolete),
-Changed Re-centering procedure, the new one is based on
correlation among the images (with integer or sub-pixel
accuracy),
-New GUI's design with "TABs".
: February 2012,
Andrea La Camera (DISI) [lacamera@disi.unige.it]:
-New way to call AIRY_HELP. By using the "online_help"
routine, we resolved a known-issue of the Soft.Pack.
(See pre/pre.pro)
NAME:
rft
ROUTINE'S PURPOSE:
rft manages the simulation for the Read FiTs file (RFT) module.
MODULE'S PURPOSE:
RFT read a FITS file provided in input.
Both cases of 2D input images and 3D input image cubes are supported.
Header's keywords can be used as input parameters of the image structures,
if they are labeled as :
resolut = pixel size [arcsec] [float]
lambda = Filter center wavelength [meters] [float]
width = Filter width [meters] [float]
psf = psf choice (1=psf, 0=image) [byte/integer]
Otherwise, parameters have to be set up by means of the GUI of the module.
CATEGORY:
main module's routine
CALLING SEQUENCE:
error = rft(out_img_t, $ ; output structure
par ) ; parameter structure
OUTPUT:
error: long scalar (error code, see !caos_error var in caos_init.pro).
INPUTS:
par : parameters structure.
INCLUDED OUTPUTS:
out_img_t: structure of type img_t.
KEYWORD PARAMETERS:
none.
COMMON BLOCKS:
common caos_block, tot_iter, this_iter
tot_iter : total number of iteration during the simulation run.
this_iter : current iteration number.
SIDE EFFECTS:
none.
RESTRICTIONS:
This module is designed for restoring of data cubes once, during the
initialization phase. It is not designed for sequencial restoring of
structures iteration after iteration. For this reason it is more likely
to be used within the package AIRY (Algorithms for Image Restoration in
interferometrY), than within the original CAOS (Code for Adaptive Optics
Systems) package. In addition it needs the astrolib package for restoring
of FITS format data cubes.
CALLED NON-IDL FUNCTIONS:
routines of the astrolib package for the FITS format management.
ROUTINE MODIFICATION HISTORY:
routine written: oct 2000,
Serge Correia (OAA) [marcel@arcetri.astro.it].
modifications : february 2003,
Marcel Carbillet (OAA) [marcel@arcetri.astro.it]:
-use of variable "calibration" eliminited for version 4.0
of the whole system CAOS.
MODULE MODIFICATION HISTORY:
module written : version beta,
Marcel Carbillet (OAA) [marcel@arcetri.astro.it],
Serge Correia (OAA) [marcel@arcetri.astro.it].
modifications : for version 2.0,
Marcel Carbillet (OAA) [marcel@arcetri.astro.it]:
-no more use of the common variable "calibration" and
the tag "calib" (structure "info") for version 4.0 of
the whole Software System CAOS.
: for version 3.0,
Marcel Carbillet (OAA) [marcel@arcetri.astro.it]:
-added better selection of central wavelength and band-width
-global GUI reordering for better fitting in screens !
Gabriele Desidera' (DISI) [desidera@disi.unige.it]:
-added possibility to insert integration times in association
with the loaded data cube.
: february 2011,
Andrea La Camera (DISI) [lacamera@disi.unige.it]:
-"Insert hour angle" button and table added;
-"Insert integration time" button and table changed;
-New GUI design.
: february 2012,
Andrea La Camera (DISI) [lacamera@disi.unige.it]:
-file "rft_time_gui.pro" and folder "rft_gui_lib" removed
[unused and no more necessary]
-New way to call AIRY_HELP. By using the "online_help"
routine, we resolved a known-issue of the Soft.Pack.
(See rft/rft.pro)
NAME:
rsc
ROUTINE'S PURPOSE:
RSC manages the simulation for the Restore image Structure Cubes (RSC)
module.
MODULE'S PURPOSE:
RSC restores data cubes.
Both FITS and XDR formats are supported.
Both cases of 2D input images and 3D input image cubes are supported.
CATEGORY:
main module's routine
CALLING SEQUENCE:
error = rsc(out_img_t, $ ; output structure
par ) ; parameter structure
OUTPUT:
error: long scalar (error code, see !caos_error var in caos_init.pro).
INPUTS:
par : parameters structure.
INCLUDED OUTPUTS:
out_img_t: structure of type img_t.
KEYWORD PARAMETERS:
none.
COMMON BLOCKS:
common caos_block, tot_iter, this_iter, calibration, signature
tot_iter : total number of iteration during the simulation run.
this_iter : current iteration number.
calibration: is it a calibration project ? (yes=1B, no=0B)
signature : project signature.
SIDE EFFECTS:
none.
RESTRICTIONS:
This module is designed for restoring of data cubes once, during the
initialization phase. It is not designed for sequencial restoring of
structures iteration after iteration. For this reason it is more likely
to be used within the package AIRY (Algorithms for Image Restoration in
interferometrY), than within the original CAOS (Code for Adaptive Optics
Systems) package. In addition it needs the astrolib package for restoring
of FITS format data cubes.
CALLED NON-IDL FUNCTIONS:
routines fo the astrolib package for the FITS format management.
ROUTINE MODIFICATION HISTORY:
routine written: june-july 2000,
Marcel Carbillet (OAA) [marcel@arcetri.astro.it].
modifications : february 2003,
Marcel Carbillet (OAA) [marcel@arcetri.astro.it]:
-use of variable "calibration" eliminited for version 4.0
of the whole system CAOS.
MODULE MODIFICATION HISTORY:
module written : version beta,
Marcel Carbillet (OAA) [marcel@arcetri.astro.it],
Serge Correia (OAA) [marcel@arcetri.astro.it].
modifications : for version 2.0,
Marcel Carbillet (OAA) [marcel@arcetri.astro.it]:
-no more use of the common variable "calibration" and
the tag "calib" (structure "info") for version 4.0 of
the whole Software System CAOS.
: for version 4.0,
Gabriele Desidera' (DISI) [desidera@disi.unige.it]:
-use of variable "time_integ" activated in output structure
: for version 5.0,
Andrea La Camera (DISI) [lacamera@disi.unige.it]:
-image type (img_t) completed (tag "angle" added).
: February 2012,
Andrea La Camera (DISI) [lacamera@disi.unige.it]:
-New way to call AIRY_HELP. By using the "online_help"
routine, we resolved a known-issue of the Soft.Pack.
(See rsc/rsc.pro)
NAME:
RTI
ROUTINE'S PURPOSE:
RTI manages the simulation for the RoTate Image (RTI) module,
that is to call the module's initialization routine rti_init at the first
iteration of the simulation project.
MODULE'S PURPOSE:
To rotate either images or objects in two different ways:
- rotation in pixel space: by using the IDL routine "ROT";
- rotation in frequencies space: by rotating the Fourier transform of the input
N.B. The rotation can generate artifacts, in particular in the case of
point objects/stars.
CATEGORY:
main module's routine
CALLING SEQUENCE:
error = rti(inp_gen_t, out_gen_t, par)
OUTPUT:
error: long scalar (error code, see !caos_error var in caos_init.pro).
INPUTS:
inp_gen_t: structure of type gen_t.
par : parameters structure.
KEYWORD PARAMETERS:
COMMON BLOCKS:
common caos_block, tot_iter, this_iter
tot_iter : total number of iteration during the simulation run.
this_iter : current iteration number.
SIDE EFFECTS:
none.
RESTRICTIONS:
none.
CALLED NON-IDL FUNCTIONS:
ROUTINE MODIFICATION HISTORY:
program written: March 2007,
Andrea La Camera (DISI) [lacamera@disi.unige.it]
modifications :
MODULE MODIFICATION HISTORY:
program written: March 2007,
Andrea La Camera (DISI) [lacamera@disi.unige.it]
modifications :
: february 2011,
Andrea La Camera (DISI) [lacamera@disi.unige.it]
-module debugged (in particular, for tags "angle" and
"time_integ")
: February 2012,
Andrea La Camera (DISI) [lacamera@disi.unige.it]:
-New way to call AIRY_HELP. By using the "online_help"
routine, we resolved a known-issue of the Soft.Pack.
(See rti/rti.pro)
NAME:
sim
ROUTINE'S PURPOSE:
SIM executes the simulation for the Save IMage structure (SIM) module.
MODULE'S PURPOSE:
Using SIM, output structures image (img_t) can be saved.
Both FITS and XDR formats are supported.
Series of 2D images are saved as one only img_t structure with a tag
"image" that is a cube composed of the various 2D input images.
CATEGORY:
main module's routine
CALLING SEQUENCE:
error = sim(inp_img_t, $
par, $
INIT=init )
OUTPUT:
error: long scalar (error code, see !caos_error var in caos_init.pro).
INPUTS:
inp_img_t: structure of type img_t (image type).
par : parameters structure from sim_gui.
KEYWORD PARAMETERS:
INIT: initialization data structure
COMMON BLOCKS:
common caos_block, tot_iter, this_iter
tot_iter : total number of iteration during the simulation run.
this_iter : current iteration number.
SIDE EFFECTS:
none.
RESTRICTIONS:
none.
CALLED NON-IDL FUNCTIONS:
none.
ROUTINE MODIFICATION HISTORY:
routine written: july 2000,
Marcel Carbillet (OAA) [marcel@arcetri.astro.it].
modifications : february 2003,
Marcel Carbillet (OAA) [marcel@arcetri.astro.it]:
-use of variable "calibration" eliminited for version 4.0
of the whole system CAOS.
MODULE MODIFICATION HISTORY:
module written : beta version,
Marcel Carbillet (OAA) [marcel@arcetri.astro.it],
Serge Correia (OAA) [correia@arcetri.astro.it].
modifications : for version 2.0,
Marcel Carbillet (OAA) [marcel@arcetri.astro.it]:
-no more use of the common variable "calibration" and
the tag "calib" (structure "info") for version 4.0 of
the whole Software System CAOS.
: February 2012,
Andrea La Camera (DISI) [lacamera@disi.unige.it]:
-New way to call AIRY_HELP. By using the "online_help"
routine, we resolved a known-issue of the Soft.Pack.
(See sim/sim.pro)
NAME:
wft
ROUTINE'S PURPOSE:
WFT executes the simulation for the Write FiTs (WFT) module.
MODULE'S PURPOSE:
Using WFT, output structures image (img_t) can be saved in .fits format
which header contains parameters of the image structure.
CATEGORY:
main module's routine
CALLING SEQUENCE:
error = wft(inp_img_t, $
par )
OUTPUT:
error: long scalar (error code, see !caos_error var in caos_init.pro).
INPUTS:
inp_img_t: structure of type img_t (image type).
par : parameters structure from wft_gui.
KEYWORD PARAMETERS:
none
COMMON BLOCKS:
common caos_block, tot_iter, this_iter
tot_iter : total number of iteration during the simulation run.
this_iter : current iteration number.
SIDE EFFECTS:
none.
RESTRICTIONS:
none.
CALLED NON-IDL FUNCTIONS:
imstruc_to_fits.pro
ROUTINE MODIFICATION HISTORY:
routine written: october 2000,
Serge Correia (OAA) [correia@arcetri.astro.it].
modifications : february 2003,
Marcel Carbillet (OAA) [marcel@arcetri.astro.it]:
-use of variable "calibration" eliminited for version 4.0
of the whole system CAOS.
MODULE MODIFICATION HISTORY:
module written : Serge Correia (OAA) [correia@arcetri.astro.it].
modifications : for version 2.0,
Marcel Carbillet (OAA) [marcel@arcetri.astro.it]:
-no more use of the common variable "calibration" and
the tag "calib" (structure "info") for version 4.0 of
the whole Software System CAOS.
modification : for version 3.0,
Gabriele Desidera' (DISI, Universita' di Genova) [desidera@disi.unige.it]
-add the possibility to write multiple images for multiple iterations
: for version 5.0,
Andrea La Camera (DISI) [lacamera@disi.unige.it],
Gabriele Desidera' (DISI) [desidera@disi.unige.it]:
-multi-frame case implemented,
-FITS header completed (imstruc_to_fits.pro modified),
-INIT eliminated (obsolete).
: February 2012,
Andrea La Camera (DISI) [lacamera@disi.unige.it]:
-New way to call AIRY_HELP. By using the "online_help"
routine, we resolved a known-issue of the Soft.Pack.
(See wft/wft.pro)