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

ObitDConCleanWindow.c File Reference

ObitDConCleanWindow class function definitions. More...

#include "ObitDConCleanWindow.h"
#include "ObitMem.h"

Classes

struct  WindowListElem
 WindowListElem structure. More...

Defines

#define NWINSIZHIST   20

Functions

void ObitDConCleanWindowInit (gpointer in)
 Private: Initialize newly instantiated object.
void ObitDConCleanWindowClear (gpointer in)
 Private: Deallocate members.
glong GetWindowSize (ObitFArray *image, glong *PeakPos, gfloat sigma)
 Private: Determine window size.
WindowListElemnewWindowListElem (glong Id, ObitDConCleanWindowType type, glong *window)
 Private: WindowListElem constructor.
WindowListElemfreeWindowListElem (WindowListElem *in)
 Private: WindowListElem destructor.
WindowListElemObitDConCleanWindowFind (GSList *glist, glong Id)
 Private: Find Window of given ID.
ObitDConCleanWindownewObitDConCleanWindow (gchar *name)
 Public: Default Constructor.
gconstpointer ObitDConCleanWindowGetClass (void)
 Public: ClassInfo pointer.
ObitDConCleanWindowObitDConCleanWindowCopy (ObitDConCleanWindow *in, ObitDConCleanWindow *out, ObitErr *err)
 Public: Copy (deep) constructor.
void ObitDConCleanWindowClone (ObitDConCleanWindow *in, ObitDConCleanWindow *out, ObitErr *err)
 Public: Copy structure.
ObitDConCleanWindowObitDConCleanWindowCreate (gchar *name, ObitImageMosaic *mosaic, ObitErr *err)
 Public: Create/initialize ObitDConCleanWindow structures.
ObitDConCleanWindowObitDConCleanWindowCreate1 (gchar *name, glong naxis[2], ObitErr *err)
 Public: Create/initialize ObitDConCleanWindow structure with 1 field.
gboolean ObitDConCleanWindowInfo (ObitDConCleanWindow *in, glong field, glong Id, ObitDConCleanWindowType *type, glong **window, ObitErr *err)
 Public: Ask window definition.
glong ObitDConCleanWindowSearch (ObitDConCleanWindow *in, glong field, glong pixel[2], glong toler, gint *which, ObitErr *err)
 Public: Search for a window near a given pixel.
glong ObitDConCleanWindowAdd (ObitDConCleanWindow *in, glong field, ObitDConCleanWindowType type, glong *window, ObitErr *err)
 Public: Add a new window definition.
void ObitDConCleanWindowDel (ObitDConCleanWindow *in, glong field, glong Id, ObitErr *err)
 Public: Delete a window.
void ObitDConCleanWindowUpdate (ObitDConCleanWindow *in, glong field, glong Id, ObitDConCleanWindowType type, glong *window, ObitErr *err)
 Public: Modify an existing window.
void ObitDConCleanWindowOuter (ObitDConCleanWindow *in, glong field, ObitDConCleanWindowType type, glong *window, ObitErr *err)
 Public: Set outer window for a field.
gboolean ObitDConCleanWindowImage (ObitDConCleanWindow *in, glong field, ObitErr *err)
 Public: Are there any valid pixels in this field's image?
gboolean ObitDConCleanWindowRow (ObitDConCleanWindow *in, glong field, glong row, gboolean **mask, ObitErr *err)
 Public: Are there any valid pixels in a specified row within inner window?
gboolean ObitDConCleanWindowInnerRow (ObitDConCleanWindow *in, glong field, glong row, gboolean **mask, ObitErr *err)
 Public: Are there any valid pixels in a specified row in positive boxes?
gboolean ObitDConCleanWindowUnrow (ObitDConCleanWindow *in, glong field, glong row, gboolean **mask, ObitErr *err)
 Public: Are there any valid pixels in a specified row in unboxes?
gboolean ObitDConCleanWindowOuterRow (ObitDConCleanWindow *in, glong field, glong row, gboolean **mask, ObitErr *err)
 Public: Are there any valid pixels in a specified row with outer window?
glong ObitDConCleanWindowSize (ObitDConCleanWindow *in, glong field, ObitErr *err)
 Public: What is the maximum region covered in x or y?
glong ObitDConCleanWindowCount (ObitDConCleanWindow *in, glong field, ObitErr *err)
 Public: How many pixels are selected.
gboolean ObitDConCleanWindowAutoWindow (ObitDConCleanWindow *in, glong field, ObitFArray *image, gboolean doAbs, gfloat *PeakIn, glong *PeakInPos, gfloat *PeakOut, gfloat *RMS, ObitErr *err)
 Public: find values needed for autoWindow.
void ObitDConCleanWindowReplaceField (ObitDConCleanWindow *in, glong ifield, ObitDConCleanWindow *out, glong ofield, ObitErr *err)
 Public: Replace all windows for a given field with those from another window.
glong ObitDConCleanWindowAddField (ObitDConCleanWindow *in, glong inaxes[2], ObitErr *err)
 Public: Add a field to a window object.
void ObitDConCleanWindowClassInit (void)
 Public: Class initializer.


Detailed Description

ObitDConCleanWindow class function definitions.

This class is derived from the Obit base class.


Define Documentation

#define NWINSIZHIST   20
 


Function Documentation

WindowListElem * freeWindowListElem WindowListElem in  ) 
 

Private: WindowListElem destructor.

Parameters:
in Object to delete
Returns:
NULL.

glong GetWindowSize ObitFArray image,
glong *  PeakPos,
gfloat  sigma
 

Private: Determine window size.

The size is determined by the 10% point or 3 sigma whichever is less.

Parameters:
image Image pixel array
PeakPos position (x, y, 0-rel) of position in image
sigma RMS of "noise" level in image
Returns:
the radius to use for this window.

ObitDConCleanWindow* newObitDConCleanWindow gchar *  name  ) 
 

Public: Default Constructor.

Initializes class if needed on first call.

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

WindowListElem * newWindowListElem glong  Id,
ObitDConCleanWindowType  type,
glong *  window
 

Private: WindowListElem constructor.

Parameters:
Id Id to use for window
type Window type
window parameters, depends on type
Returns:
the new object.

glong ObitDConCleanWindowAdd ObitDConCleanWindow in,
glong  field,
ObitDConCleanWindowType  type,
glong *  window,
ObitErr err
 

Public: Add a new window definition.

Parameters:
in The Window object
field Which field (1-rel) is of interest?
type Window type
window parameters, depends on type
err Obit error stack object.
Returns:
Id of new window, -1 on failure

glong ObitDConCleanWindowAddField ObitDConCleanWindow in,
glong  inaxes[2],
ObitErr err
 

Public: Add a field to a window object.

Parameters:
in Source Window object
inaxes Dimension of image
err Obit error stack object.
Returns:
added field number (1-rel)

gboolean ObitDConCleanWindowAutoWindow ObitDConCleanWindow in,
glong  field,
ObitFArray image,
gboolean  doAbs,
gfloat *  PeakIn,
glong *  PeakInPos,
gfloat *  PeakOut,
gfloat *  RMS,
ObitErr err
 

Public: find values needed for autoWindow.

If the peak in the image is > n*RMS and occurs inside of the outer window but outside the previous inner window, a new round box is added at that position. n=4 for small boxes, 3 large. The added window is round and of a size where the structure function about the center drops to 10% or 3 sigma whichever is less (max=20)

Parameters:
in The Window object
field Which field (1-rel) is of interest?
image pixel array, will be returned blanked outside the outer window and inside the inner window
doAbs If TRUE look for max. abs., otherwise max.
PeakIn [out] Peak value inside of outer window
PeakInPos [out] pixel position (1-rel) of PeakIn
PeakOut [out] Peak value outside of inner window but within outer
RMS [out] RMS within outer Window
err Obit error stack object.
Returns:
TRUE if PeakIn occurs outside of the current inner window

void ObitDConCleanWindowClassInit void   ) 
 

Public: Class initializer.

void ObitDConCleanWindowClear gpointer  inn  ) 
 

Private: Deallocate members.

Does (recursive) deallocation of parent class members.

Parameters:
inn Pointer to the object to deallocate. Actually it should be an ObitDConCleanWindow* cast to an Obit*.

void ObitDConCleanWindowClone ObitDConCleanWindow in,
ObitDConCleanWindow 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.

ObitDConCleanWindow* ObitDConCleanWindowCopy ObitDConCleanWindow in,
ObitDConCleanWindow 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.

glong ObitDConCleanWindowCount ObitDConCleanWindow in,
glong  field,
ObitErr err
 

Public: How many pixels are selected.

Parameters:
in The Window object
field Which field (1-rel) is of interest?
err Obit error stack object.
Returns:
number of valid pixels

ObitDConCleanWindow* ObitDConCleanWindowCreate gchar *  name,
ObitImageMosaic mosaic,
ObitErr err
 

Public: Create/initialize ObitDConCleanWindow structures.

Parameters:
name An optional name for the object.
mosaic The image mosaic which this object is to describe.
Returns:
the new object.

ObitDConCleanWindow* ObitDConCleanWindowCreate1 gchar *  name,
glong  naxis[2],
ObitErr err
 

Public: Create/initialize ObitDConCleanWindow structure with 1 field.

Parameters:
name An optional name for the object.
mosaic The image mosaic which this object is to describe.
Returns:
the new object.

void ObitDConCleanWindowDel ObitDConCleanWindow in,
glong  field,
glong  Id,
ObitErr err
 

Public: Delete a window.

Parameters:
in The Window object
field Which field (1-rel) is of interest?
Id Window Id, -1 => all
err Obit error stack object, if NULL, no error reporting

WindowListElem * ObitDConCleanWindowFind GSList *  glist,
glong  Id
 

Private: Find Window of given ID.

Parameters:
glist GSList of WindowListElems
Id Window Id
Returns:
element pointer if found, else NULL

gconstpointer ObitDConCleanWindowGetClass void   ) 
 

Public: ClassInfo pointer.

Returns:
pointer to the class structure.

gboolean ObitDConCleanWindowImage ObitDConCleanWindow in,
glong  field,
ObitErr err
 

Public: Are there any valid pixels in this field's image?

Parameters:
in The Window object
field Which field (1-rel) is of interest?
err Obit error stack object.
Returns:
TRUE if there are valid pixels, else FALSE

gboolean ObitDConCleanWindowInfo ObitDConCleanWindow in,
glong  field,
glong  Id,
ObitDConCleanWindowType type,
glong **  window,
ObitErr err
 

Public: Ask window definition.

Parameters:
in The Window object
field Which field (1-rel) is of interest?
ID Window Id, -1=outer
type [out] Window type
window [out] parameters, depends on type Pointer into list
err Obit error stack object.
Returns:
TRUE if window found, else False.

void ObitDConCleanWindowInit gpointer  inn  ) 
 

Private: Initialize newly instantiated object.

Parent classes portions are (recursively) initialized first

Parameters:
inn Pointer to the object to initialize.

gboolean ObitDConCleanWindowInnerRow ObitDConCleanWindow in,
glong  field,
glong  row,
gboolean **  mask,
ObitErr err
 

Public: Are there any valid pixels in a specified row in positive boxes?

If there are no windows and autoWindow is not selected, then all pixels are selected.

Parameters:
in The Window object
field Which field (1-rel) is of interest?
row Which row (1-rel)
mask [in/out] Mask for pixels in inner boxes, TRUE indicates pixel is in an inner window. If NULL it is created. Should always be allocated/deallocated using ObitMem
err Obit error stack object.
Returns:
TRUE if there are selected pixels, else FALSE

void ObitDConCleanWindowOuter ObitDConCleanWindow in,
glong  field,
ObitDConCleanWindowType  type,
glong *  window,
ObitErr err
 

Public: Set outer window for a field.

Window types are:

  • OBIT_DConCleanWindow_rectangle a rectangular box defined by the blc (1-rel) (window[0],(window[1]) and trc corners (window[2],(window[3]) inclusive
  • OBIT_DConCleanWindow_round a round box defined by the radius in cells (window[0]) and the central pixel (1-rel) (window[1],(window[2])
    Parameters:
    in The Window object
    field Which field (1-rel) is of interest?
    type Window type
    window parameters, depends on type
    err Obit error stack object.

gboolean ObitDConCleanWindowOuterRow ObitDConCleanWindow in,
glong  field,
glong  row,
gboolean **  mask,
ObitErr err
 

Public: Are there any valid pixels in a specified row with outer window?

Unwindows not supported.

Parameters:
in The Window object
field Which field (1-rel) is of interest?
row Which row (1-rel)
mask [in/out] Mask for valid pixels, If NULL, it is created. Should always be allocated/deallocated using ObitMem
err Obit error stack object.
Returns:
TRUE if there are valid pixels, else FALSE

void ObitDConCleanWindowReplaceField ObitDConCleanWindow in,
glong  ifield,
ObitDConCleanWindow out,
glong  ofield,
ObitErr err
 

Public: Replace all windows for a given field with those from another window.

Naxis must correspond between windows

Parameters:
in Source Window object
ifield Which field (1-rel) is of interest in in?
out Source Window object
ofield Which field (1-rel) is of interest in out?
err Obit error stack object.

gboolean ObitDConCleanWindowRow ObitDConCleanWindow in,
glong  field,
glong  row,
gboolean **  mask,
ObitErr err
 

Public: Are there any valid pixels in a specified row within inner window?

If there are no windows and autoWindow is selected then no pixels are selected. If there are no windows and autoWindow is not selected, then all pixels are selected.

Parameters:
in The Window object
field Which field (1-rel) is of interest?
row Which row (1-rel)
mask [in/out] Mask for pixels in inner boxes, TRUE indicates in an inner window but not in unwindow. If NULL it is created. Should always be Should always be allocated/deallocated using ObitMem
err Obit error stack object.
Returns:
TRUE if there are selected pixels, else FALSE

glong ObitDConCleanWindowSearch ObitDConCleanWindow in,
glong  field,
glong  pixel[2],
glong  toler,
gint *  which,
ObitErr err
 

Public: Search for a window near a given pixel.

Returns first found meeting criteria

Parameters:
in The Window object
field Which field (1-rel) is of interest?
pixel pixel coordinate (1-rel)
toler how close in pixels is required
which [out] which part selected, 1=blc or center, 2=trc or radius
err Obit error stack object.
Returns:
iD if window found, else -1.

glong ObitDConCleanWindowSize ObitDConCleanWindow in,
glong  field,
ObitErr err
 

Public: What is the maximum region covered in x or y?

Parameters:
in The Window object
field Which field (1-rel) is of interest?
err Obit error stack object.
Returns:
number of pixels in extent

gboolean ObitDConCleanWindowUnrow ObitDConCleanWindow in,
glong  field,
glong  row,
gboolean **  mask,
ObitErr err
 

Public: Are there any valid pixels in a specified row in unboxes?

Parameters:
in The Window object
field Which field (1-rel) is of interest?
row Which row (1-rel)
mask [in/out] Mask for pixels in unboxes, TRUE indicates pixel is in an unwindow. If NULL it is created. Should always be allocated/deallocated using ObitMem
err Obit error stack object.
Returns:
TRUE if there are selected pixels, else FALSE

void ObitDConCleanWindowUpdate ObitDConCleanWindow in,
glong  field,
glong  Id,
ObitDConCleanWindowType  type,
glong *  window,
ObitErr err
 

Public: Modify an existing window.

Parameters:
in The Window object
field Which field (1-rel) is of interest?
Id Window Id
type Window type
window Parameters, depends on type
err Obit error stack object.


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