Main Page | Class List | Directories | File List | Class Members | File Members

ObitDConCleanVis.h File Reference

ObitDConCleanVis Visisibility-based (Cotton-Schwab) CLEAN class. More...

#include "Obit.h"
#include "ObitErr.h"
#include "ObitDConCleanPxList.h"
#include "ObitDConClean.h"
#include "ObitImageMosaic.h"
#include "ObitDConCleanWindow.h"
#include "ObitDConCleanBmHist.h"
#include "ObitDConCleanPxHist.h"
#include "ObitUVImager.h"
#include "ObitSkyModel.h"
#include "ObitDisplay.h"

Go to the source code of this file.

Classes

struct  ObitDConCleanVis
 ObitDConCleanVis Class structure. More...
struct  ObitDConCleanVisClassInfo
 ClassInfo Structure. More...

Defines

#define ObitDConCleanVisUnref(in)   ObitUnref (in)
 Macro to unreference (and possibly destroy) an ObitDConCleanVis returns a ObitDConCleanVis*.
#define ObitDConCleanVisRef(in)   ObitRef (in)
 Macro to reference (update reference count) an ObitDConCleanVis.
#define ObitDConCleanVisIsA(in)   ObitIsA (in, ObitDConCleanVisGetClass())
 Macro to determine if an object is the member of this or a derived class.

Typedefs

typedef gboolean(* ObitDConCleanVisPickNextFP )(ObitDConClean *in, ObitErr *err)
typedef gfloat(* ObitDConCleanVisQualityFP )(ObitDConClean *in, glong field, ObitErr *err)
typedef gboolean(* ObitDConCleanVisReimageFP )(ObitDConCleanVis *in, ObitUV *uvdata, ObitErr *err)
typedef void(* ObitDConCleanVisAddFieldFP )(ObitDConCleanVis *in, ObitUV *uvdata, ObitErr *err)
typedef gboolean(* ObitDConCleanVisRecenterFP )(ObitDConCleanVis *in, ObitUV *uvdata, ObitErr *err)
typedef gboolean(* ObitDConCleanVisFilterFP )(ObitDConCleanVis *in, gfloat filter[2], ObitErr *err)

Functions

void ObitDConCleanVisClassInit (void)
 Public: Class initializer.
ObitDConCleanVisnewObitDConCleanVis (gchar *name)
 Public: Default Constructor.
ObitDConCleanVisObitDConCleanVisCreate (gchar *name, ObitUV *uvdata, ObitErr *err)
 Public: Create/initialize ObitDConCleanVis structures.
ObitDConCleanVisObitDConCleanVisCreate2 (gchar *name, ObitUV *uvdata, ObitUVImager *imager, ObitSkyModel *skyModel, ObitErr *err)
 Public: Create/initialize ObitDConCleanVis structures from optional components.
gconstpointer ObitDConCleanVisGetClass (void)
 Public: ClassInfo pointer.
ObitDConCleanVisObitDConCleanVisCopy (ObitDConCleanVis *in, ObitDConCleanVis *out, ObitErr *err)
 Public: Copy (deep) constructor.
void ObitDConCleanVisClone (ObitDConCleanVis *in, ObitDConCleanVis *out, ObitErr *err)
 Public: Copy structure.
void ObitDConCleanVisDeconvolve (ObitDCon *in, ObitErr *err)
 Public: Do deconvolution.
void ObitDConCleanVisGetParms (ObitDCon *in, ObitErr *err)
 Public: Get parameters.
void ObitDConCleanVisDefWindow (ObitDConClean *in, ObitErr *err)
 Public: Set Default CLEAN windows.
void ObitDConCleanVisSub (ObitDConCleanVis *in, ObitErr *err)
 Public: Subtract components and generate new residual image(s).
gboolean ObitDConCleanVisPickNext (ObitDConCleanVis *in, ObitErr *err)
 Public: Pick next field(s) and get Residual image(s).
gfloat ObitDConCleanVisQuality (ObitDConCleanVis *in, glong field, ObitErr *err)
 Public: Determine quality measure for field.
gboolean ObitDConCleanVisReimage (ObitDConCleanVis *in, ObitUV *uvdata, ObitErr *err)
 Public: Reimaging needed to center strong source on pixel?
void ObitDConCleanVisAddField (ObitDConCleanVis *in, ObitUV *uvdata, ObitErr *err)
 Public: Resize to add a new field.
gboolean ObitDConCleanVisRecenter (ObitDConCleanVis *in, ObitUV *uvdata, ObitErr *err)
 Public: Recenter autoCenter images.
gboolean ObitDConCleanVisFilter (ObitDConCleanVis *in, gfloat filter[2], ObitErr *err)
 Public: Filter weak, isolated components.


Detailed Description

ObitDConCleanVis Visisibility-based (Cotton-Schwab) CLEAN class.

This class is derived from the ObitDConClean class.

autoWindow feature will automatically set CLEAN windows inside a predefined outer window. Each cycle the residuals inside the outer window are searched to the maximum value; if the peak is outside the inner window and > 3 sigma, a new round box of radius 3 pixels is added to the window. Cleaning in each cycle will stop when the peak residual drops to the level of the highest value outside the CLEAN window. In autoWindow mode, the field to be processed next is determined using the statistics from the outer window and for normal mode, the inner window. This should result in the brightest emission being cleaned next and a box added on it if necessary.

Creators and Destructors

An ObitDConCleanVis will usually be created using ObitDConCleanVisCreate or ObitDConCleanVisCreate2 which allow specifying a name for the object as well as other information.

A copy of a pointer to an ObitDConCleanVis should always be made using the ObitDConCleanVisRef function which updates the reference count in the object. Then whenever freeing an ObitDConCleanVis or changing a pointer, the function ObitDConCleanVisUnref will decrement the reference count and destroy the object when the reference count hits 0. There is no explicit destructor.

CLEAN control information

The control parameters for the CLEAN are read from the ObitInfoList member when the Deconvolve function is called: The file etc. info should have been stored in the ObitInfoList:

Define Documentation

#define ObitDConCleanVisIsA in   )     ObitIsA (in, ObitDConCleanVisGetClass())
 

Macro to determine if an object is the member of this or a derived class.

Returns TRUE if a member, else FALSE in = object to reference

#define ObitDConCleanVisRef in   )     ObitRef (in)
 

Macro to reference (update reference count) an ObitDConCleanVis.

returns a ObitDConCleanVis*. in = object to reference

#define ObitDConCleanVisUnref in   )     ObitUnref (in)
 

Macro to unreference (and possibly destroy) an ObitDConCleanVis returns a ObitDConCleanVis*.

in = object to unreference


Typedef Documentation

typedef void(* ObitDConCleanVisAddFieldFP)(ObitDConCleanVis *in, ObitUV *uvdata, ObitErr *err)
 

typedef gboolean(* ObitDConCleanVisFilterFP)(ObitDConCleanVis *in, gfloat filter[2], ObitErr *err)
 

typedef gboolean(* ObitDConCleanVisPickNextFP)(ObitDConClean *in, ObitErr *err)
 

typedef gfloat(* ObitDConCleanVisQualityFP)(ObitDConClean *in, glong field, ObitErr *err)
 

typedef gboolean(* ObitDConCleanVisRecenterFP)(ObitDConCleanVis *in, ObitUV *uvdata, ObitErr *err)
 

typedef gboolean(* ObitDConCleanVisReimageFP)(ObitDConCleanVis *in, ObitUV *uvdata, ObitErr *err)
 


Function Documentation

ObitDConCleanVis* newObitDConCleanVis gchar *  name  ) 
 

Public: Default Constructor.

Initializes class if needed on first call.

Parameters:
name An optional name for the object.
Returns:
the new object.

void ObitDConCleanVisAddField ObitDConCleanVis in,
ObitUV uvdata,
ObitErr err
 

Public: Resize to add a new field.

Parameters:
in DConCleanVis to expand
uvdata UV data being imaged.
err Error/message stack

void ObitDConCleanVisClassInit void   ) 
 

Public: Class initializer.

void ObitDConCleanVisClone ObitDConCleanVis in,
ObitDConCleanVis out,
ObitErr err
 

Public: Copy structure.

Parameters:
in The object to copy
out An existing object pointer for output, must be defined.
err Obit error stack object.

ObitDConCleanVis* ObitDConCleanVisCopy ObitDConCleanVis in,
ObitDConCleanVis out,
ObitErr err
 

Public: Copy (deep) constructor.

Parameters:
in The object to copy
out An existing object pointer for output or NULL if none exists.
err Obit error stack object.
Returns:
pointer to the new object.

ObitDConCleanVis* ObitDConCleanVisCreate gchar *  name,
ObitUV uvdata,
ObitErr err
 

Public: Create/initialize ObitDConCleanVis structures.

Parameters:
name An optional name for the object.
uvdata from which to create object, should have all control information defined on info member.
err Obit error stack object.
Returns:
the new object.

ObitDConCleanVis* ObitDConCleanVisCreate2 gchar *  name,
ObitUV uvdata,
ObitUVImager imager,
ObitSkyModel skyModel,
ObitErr err
 

Public: Create/initialize ObitDConCleanVis structures from optional components.

Parameters:
name An optional name for the object.
uvdata from which to create object, should have all control information defined on info member.
imager Optional ObitUVImager to use, if NULL use default Reference "stolen" (i.e. no need to Unref after call)
skyModel Optional ObitSkyModel to use, if NULL use default Reference "stolen" (i.e. no need to Unref after call)
err Obit error stack object.
Returns:
the new object.

void ObitDConCleanVisDeconvolve ObitDCon inn,
ObitErr err
 

Public: Do deconvolution.

CLEAN control parameters are in the ObitInfoList member:

  • "Niter" OBIT_int scalar = Maximum number of CLEAN iterations
  • "maxPixel" OBIT_int scalar = Maximum number of residuals [def 20000]
  • "minPatch" OBIT_int scalar = Minimum beam patch in pixels [def 50]
  • "BMAJ" OBIT_float scalar = Restoring beam major axis (deg)
  • "BMIN" OBIT_float scalar = Restoring beam minor axis (deg)
  • "BPA" OBIT_float scalar = Restoring beam position angle (deg)
  • "Beam" OBIT_float array[3]= (BMAJ, BMIN, BPA) alternate form
  • "CCVer" OBIT_int array = CLEAN table version for all fields
  • "Gain" OBIT_float array = CLEAN loop gain per field
  • "minFlux" OBIT_float array = Minimun flux density (Jy) per field
  • "Factor" OBIT_float array = CLEAN depth factor per field
  • "autoCen" OBIT_float scalar = Threshold leven for autocenter If peak exceeds this value the minFlux reset to 0.1*autoCen
  • "Plane" OBIT_int array = Plane being processed, 1-rel indices of axes 3-?
    Parameters:
    in The object to deconvolve
    err Obit error stack object.

void ObitDConCleanVisDefWindow ObitDConClean inn,
ObitErr err
 

Public: Set Default CLEAN windows.

If CLEANBox defined in in->info then its contents are used for field 1. Assumes all images in mosaic have descriptors defined. Uses base class function.

Parameters:
in The CLEAN object
err Obit error stack object.

gboolean ObitDConCleanVisFilter ObitDConCleanVis in,
gfloat  filter[2],
ObitErr err
 

Public: Filter weak, isolated components.

Parameters:
in DConCleanVis to check Values on info member:
  • "CCVer" OBIT_int scalar = CC table version to use, default 1
filter,filtering parameters: [0] = radius Radius within which to consider components. (deg) if this is 0.0 nothing is done [1] = minFlux Minimum acceptable summed flux (Jy)
err Error/message stack return TRUE if any components were removed, i.e. reimaging needed

gconstpointer ObitDConCleanVisGetClass void   ) 
 

Public: ClassInfo pointer.

Returns:
pointer to the class structure.

void ObitDConCleanVisGetParms ObitDCon inn,
ObitErr err
 

Public: Get parameters.

  • "autoCen" OBIT_float scalar = Threshold leven for autocenter If peak exceeds this value the minFlux reset to 0.1*autoCen
  • "dispURL" OBIT_string scalar = URL of display server
    Parameters:
    in The CLEAN object as base class
    err Obit error stack object.

gboolean ObitDConCleanVisPickNext ObitDConCleanVis in,
ObitErr err
 

Public: Pick next field(s) and get Residual image(s).

Adopted from the AIPSish CLBSTF (QOOP:QCLEAN.FOR)

Parameters:
in The object to deconvolve
err Obit error stack object.
Returns:
TRUE iff reached minimum flux density or max. number comp.

gfloat ObitDConCleanVisQuality ObitDConCleanVis in,
glong  field,
ObitErr err
 

Public: Determine quality measure for field.

Parameters:
in The object to deconvolve
field field number (1-rel) to test
err Obit error stack object.
Returns:
quality measure, higher is more desirable

gboolean ObitDConCleanVisRecenter ObitDConCleanVis in,
ObitUV uvdata,
ObitErr err
 

Public: Recenter autoCenter images.

The centroid of the CLEAN components of autoCenter fields are determined. If they are not at the reference pixel to within toler, the position is adjusted. Fields in the mosaic member of in are considered autoCenter fields if the image info member contains a boolean entry "autoCenField" with value True. Any images recentered will have the CLEAN components cleared Images should be remade if any positions are modified.

Parameters:
in DConCleanVis to check Values on info member:
  • "CCVer" OBIT_int scalar = CC table version to use, default 1
  • "toler" OBIT_float scalar = Tolerance to accept as on a pixel (cells) def 0.001
uvdata UV data
err Error/message stack return TRUE if a position was modified

gboolean ObitDConCleanVisReimage ObitDConCleanVis in,
ObitUV uvdata,
ObitErr err
 

Public: Reimaging needed to center strong source on pixel?

A new (96x96) field is added centered on the offending source and a negative clean window added to the position of the source in its original window. Avoid duplicates of the same source and ensure that all occurances of this source in any exant field has a negative clean window added. Multiple centering sources per facet are allowed A boolean entry "autoCenField" with value True is added to the info member of any image members added to the mosaic member. Routine originally translated from the AIPSish VLAUTIL.FOR/VLCCIN

Parameters:
in DConCleanVis to check Values on info member:
  • "restartFlux" OBIT_float scalar = Minimum brightness flux for CLEAN restart, def infinite
  • "CCVer" OBIT_int scalar = CC table version to use, default 1
  • "toler" OBIT_float scalar = Tolerance to accept as on a pixel (cells) def 0.01
uvdata UV data being imaged.
err Error/message stack
Returns:
TRUE if image needs to be remade, generally meaning something exceeded threshold.

void ObitDConCleanVisSub ObitDConCleanVis in,
ObitErr err
 

Public: Subtract components and generate new residual image(s).

Parameters:
in The object to deconvolve
err Obit error stack object.


Generated on Fri Aug 31 22:13:05 2007 for Obit by  doxygen 1.3.9.1