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

ObitDConClean.h File Reference

ObitDConClean virtual CLEAN base class. More...

#include "Obit.h"
#include "ObitErr.h"
#include "ObitDCon.h"
#include "ObitImageMosaic.h"
#include "ObitDConCleanWindow.h"
#include "ObitDConCleanBmHist.h"
#include "ObitDConCleanPxHist.h"
#include "ObitDConCleanPxList.h"
#include "ObitDef.h"
#include "ObitDConDef.h"
#include "ObitClassDef.h"
#include "ObitDConClassDef.h"

Go to the source code of this file.

Classes

struct  ObitDConClean
 ObitDConClean Class structure. More...
struct  ObitDConCleanClassInfo
 ClassInfo Structure. More...

Defines

#define ObitDConCleanUnref(in)   ObitUnref (in)
 Macro to unreference (and possibly destroy) an ObitDConClean returns a ObitDConClean*.
#define ObitDConCleanRef(in)   ObitRef (in)
 Macro to reference (update reference count) an ObitDConClean.
#define ObitDConCleanIsA(in)   ObitIsA (in, ObitDConCleanGetClass())
 Macro to determine if an object is the member of this or a derived class.

Typedefs

typedef void(* ObitDConCleanDefWindowFP )(ObitDConClean *in, ObitErr *err)
typedef void(* ObitDConCleanPixelStatsFP )(ObitDConClean *in, ObitErr *err)
typedef void(* ObitDConCleanImageStatsFP )(ObitDConClean *in, glong field, ObitErr *err)
typedef gboolean(* ObitDConCleanSelectFP )(ObitDConClean *in, ObitErr *err)
typedef void(* ObitDConCleanSubFP )(ObitDConClean *in, ObitErr *err)
typedef void(* ObitDConCleanRestoreFP )(ObitDConClean *in, ObitErr *err)
typedef void(* ObitDConCleanXRestoreFP )(ObitDConClean *in, ObitErr *err)
typedef void(* ObitDConCleanFlattenFP )(ObitDConClean *in, ObitErr *err)
typedef void(* ObitDConCleanAutoWindowFP )(ObitDConClean *in, glong field, ObitErr *err)

Functions

void ObitDConCleanClassInit (void)
 Public: Class initializer.
ObitDConCleannewObitDConClean (gchar *name)
 Public: Default Constructor.
ObitDConCleanObitDConCleanCreate (gchar *name, ObitImageMosaic *mosaic, ObitErr *err)
 Public: Create/initialize ObitDConClean structures.
gconstpointer ObitDConCleanGetClass (void)
 Public: ClassInfo pointer.
ObitDConCleanObitDConCleanCopy (ObitDConClean *in, ObitDConClean *out, ObitErr *err)
 Public: Copy (deep) constructor.
void ObitDConCleanClone (ObitDConClean *in, ObitDConClean *out, ObitErr *err)
 Public: Copy structure.
void ObitDConCleanDeconvolve (ObitDCon *in, ObitErr *err)
 Public: Do deconvolution.
void ObitDConCleanGetParms (ObitDCon *in, ObitErr *err)
 Public: Get parameters.
void ObitDConCleanDefWindow (ObitDConClean *in, ObitErr *err)
 Public: Set Default CLEAN windows.
void ObitDConCleanPixelStats (ObitDConClean *in, ObitErr *err)
 Public: Prepare for minor cycle.
void ObitDConCleanImageStats (ObitDConClean *in, glong field, ObitErr *err)
 Public: Determine image statistics.
gboolean ObitDConCleanSelect (ObitDConClean *in, ObitErr *err)
 Public:Select components to be subtracted .
void ObitDConCleanSub (ObitDConClean *in, ObitErr *err)
 Public: Subtract components and generate new residual image(s).
void ObitDConCleanRestore (ObitDConClean *in, ObitErr *err)
 Public: Restore subtracted components.
void ObitDConCleanXRestore (ObitDConClean *in, ObitErr *err)
 Public: Restore subtracted components from other fields.
void ObitDConCleanFlatten (ObitDConClean *in, ObitErr *err)
 Public: Flatten multiple facets to one.
void ObitDConCleanAutoWindow (ObitDConClean *in, glong field, ObitErr *err)
 Public: Automatically add window.


Detailed Description

ObitDConClean virtual CLEAN base class.

This class is derived from the ObitDCon class.

Actual deconvolution classes are derived from this 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.

Creators and Destructors

An ObitDConClean will usually be created using ObitDConCleanCreate which allows specifying a name for the object as well as other information.

A copy of a pointer to an ObitDConClean should always be made using the ObitDConCleanRef function which updates the reference count in the object. Then whenever freeing an ObitDConClean or changing a pointer, the function ObitDConCleanUnref 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 ObitDConCleanIsA in   )     ObitIsA (in, ObitDConCleanGetClass())
 

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 ObitDConCleanRef in   )     ObitRef (in)
 

Macro to reference (update reference count) an ObitDConClean.

returns a ObitDConClean*. in = object to reference

#define ObitDConCleanUnref in   )     ObitUnref (in)
 

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

in = object to unreference


Typedef Documentation

typedef void(* ObitDConCleanAutoWindowFP)(ObitDConClean *in, glong field, ObitErr *err)
 

typedef void(* ObitDConCleanDefWindowFP)(ObitDConClean *in, ObitErr *err)
 

typedef void(* ObitDConCleanFlattenFP)(ObitDConClean *in, ObitErr *err)
 

typedef void(* ObitDConCleanImageStatsFP)(ObitDConClean *in, glong field, ObitErr *err)
 

typedef void(* ObitDConCleanPixelStatsFP)(ObitDConClean *in, ObitErr *err)
 

typedef void(* ObitDConCleanRestoreFP)(ObitDConClean *in, ObitErr *err)
 

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

typedef void(* ObitDConCleanSubFP)(ObitDConClean *in, ObitErr *err)
 

typedef void(* ObitDConCleanXRestoreFP)(ObitDConClean *in, ObitErr *err)
 


Function Documentation

ObitDConClean* newObitDConClean gchar *  name  ) 
 

Public: Default Constructor.

Virtual routine - should never be called Initializes class if needed on first call.

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

void ObitDConCleanAutoWindow ObitDConClean in,
glong  field,
ObitErr err
 

Public: Automatically add window.

Each cycle the residuals inside the outer window are searched to the maximum value; if the peak is outside the inner window and > 5 sigma, a new round box 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.

Parameters:
in The object to restore
field Field number (1-rel) in ImageMosaic
err Obit error stack object.

void ObitDConCleanClassInit void   ) 
 

Public: Class initializer.

void ObitDConCleanClone ObitDConClean in,
ObitDConClean 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.

ObitDConClean* ObitDConCleanCopy ObitDConClean in,
ObitDConClean 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.

ObitDConClean* ObitDConCleanCreate gchar *  name,
ObitImageMosaic mosaic,
ObitErr err
 

Public: Create/initialize ObitDConClean structures.

Parameters:
name An optional name for the object.
mosaic from which to create object
err Obit error stack object.
Returns:
the new object.

void ObitDConCleanDeconvolve 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 [3] = (BMAJ, BMIN, BPA) alternate form (",", deg)
  • "CCVer" OBIT_int array = CLEAN table version for all fields
  • "Gain" OBIT_float array = CLEAN loop gain per field
  • "minFlux" OBIT_float array = Minimum flux density (Jy) per field
  • "Factor" OBIT_float array = CLEAN depth factor per field
  • "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 ObitDConCleanDefWindow ObitDConClean in,
ObitErr err
 

Public: Set Default CLEAN windows.

If mosaic member Radius>0 then make round boxes on Fly's eye field with this radius, else use rectangular box including all but outer 5 pixels On outlier fields, use rectangular box of width OutlierSize. If CLEANBox defined in in->info then its contents are used for field 1. Sets outer windows the same as inner windows except for field 1 when CLEANBox set. If autoWindow, no default inner windows are set. Assumes all images in mosaic have descriptors defined. Any previously existing Windows will be lost.

Parameters:
in The CLEAN object, info may have CLEAN Boxes:
  • "CLEANBox" OBIT_int [4,?] = Array of Clean boxes for field 1 Any entries with first element=0 are ignored.
err Obit error stack object.

void ObitDConCleanFlatten ObitDConClean in,
ObitErr err
 

Public: Flatten multiple facets to one.

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

gconstpointer ObitDConCleanGetClass void   ) 
 

Public: ClassInfo pointer.

Returns:
pointer to the class structure.

void ObitDConCleanGetParms ObitDCon inn,
ObitErr err
 

Public: Get parameters.

  • "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 100]
  • "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 [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 If only one given it is used for all.
  • "minFlux" OBIT_float array = Minimum flux density (Jy) per field If only one given it is used for all.
  • "Factor" OBIT_float array = CLEAN depth factor per field
  • "autoWindow" OBIT_boolean scalar = True if autoWindow feature wanted. From Parent classes:
  • "Plane" OBIT_int array = Plane being processed, 1-rel indices of axes 3-? def (1,1,1,1,1)
    Parameters:
    in The CLEAN object as base class
    err Obit error stack object.

void ObitDConCleanImageStats ObitDConClean in,
glong  field,
ObitErr err
 

Public: Determine image statistics.

For this version the following are calculated:

  • maxAbsRes Maximum absolute windowed residual value
  • avgRes Average windowed residual value
Parameters:
in The object to deconvolve
field Which field? (1-rel) <=0 -> all;
err Obit error stack object.

void ObitDConCleanPixelStats ObitDConClean in,
ObitErr err
 

Public: Prepare for minor cycle.

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

void ObitDConCleanRestore ObitDConClean in,
ObitErr err
 

Public: Restore subtracted components.

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

gboolean ObitDConCleanSelect ObitDConClean in,
ObitErr err
 

Public:Select components to be subtracted .

Parameters:
in The object to deconvolve
err Obit error stack object.
Returns:
TRUE if deconvolution is complete

void ObitDConCleanSub ObitDConClean in,
ObitErr err
 

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

Virtual routine, only defined in derived classes

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

void ObitDConCleanXRestore ObitDConClean in,
ObitErr err
 

Public: Restore subtracted components from other fields.

Does brute force convolution. Adopted from the AIPSish QOOP:QCLEAN.FOR(CLOVER) Presumes in->mosaic and image descriptors filled in.

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


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