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

ObitCInterpolate.h File Reference

ObitCInterpolate does Lagrangian interpolation of positions in an ObitCArray. More...

#include "Obit.h"
#include "ObitErr.h"
#include "ObitThread.h"
#include "ObitInfoList.h"
#include "ObitImageDesc.h"
#include "ObitCArray.h"
#include "ObitDef.h"
#include "ObitClassDef.h"

Go to the source code of this file.

Classes

struct  ObitCInterpolate
 ObitCInterpolate Class structure. More...
struct  ObitCInterpolateClassInfo
 ClassInfo Structure. More...

Defines

#define ObitCInterpolateUnref(in)   ObitUnref (in)
 Macro to unreference (and possibly destroy) an ObitCInterpolate returns a ObitCInterpolate*.
#define ObitCInterpolateRef(in)   ObitRef (in)
 Macro to reference (update reference count) an ObitCInterpolate.
#define ObitCInterpolateIsA(in)   ObitIsA (in, ObitCInterpolateGetClass())
 Macro to determine if an object is the member of this or a derived class.

Functions

void ObitCInterpolateClassInit (void)
 Public: Class initializer.
ObitCInterpolatenewObitCInterpolate (gchar *name)
 Public: Constructor.
ObitCInterpolatenewObitCInterpolateCreate (gchar *name, ObitCArray *array, ObitImageDesc *desc, gfloat OSX, gfloat OSY, glong numConjCol, glong hwidth, ObitErr *err)
 Public: Constructor from value.
gconstpointer ObitCInterpolateGetClass (void)
 Public: ClassInfo pointer.
ObitCInterpolateObitCInterpolateCopy (ObitCInterpolate *in, ObitCInterpolate *out, ObitErr *err)
 Public: Copy (deep) constructor.
ObitCInterpolateObitCInterpolateClone (ObitCInterpolate *in, ObitCInterpolate *out)
 Public: Copy (shallow) constructor.
void ObitCInterpolateReplace (ObitCInterpolate *in, ObitCArray *newArray)
 Public: Replace member ObitCArray.
void ObitCInterpolatePixel (ObitCInterpolate *in, gfloat *pixel, gfloat out[2], ObitErr *err)
 Public: Interpolate Pixel in 2D array.
void ObitCInterpolate1D (ObitCInterpolate *in, gfloat pixel, gfloat out[2])
 Public: Interpolate value in 1- array.
void ObitCInterpolatePosition (ObitCInterpolate *in, gdouble *coord, gfloat out[2], ObitErr *err)
 Public: Interpolate Position in 2D array.
void ObitCInterpolateOffset (ObitCInterpolate *in, gfloat *offset, gfloat out[2], ObitErr *err)
 Public: Interpolate Offset in 2D array.


Detailed Description

ObitCInterpolate does Lagrangian interpolation of positions in an ObitCArray.

This class is derived from the Obit class.


Define Documentation

#define ObitCInterpolateIsA in   )     ObitIsA (in, ObitCInterpolateGetClass())
 

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

Macro to reference (update reference count) an ObitCInterpolate.

returns a ObitCInterpolate*. in = object to reference

#define ObitCInterpolateUnref in   )     ObitUnref (in)
 

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

in = object to unreference


Function Documentation

ObitCInterpolate* newObitCInterpolate gchar *  name  ) 
 

Public: Constructor.

Initializes class if needed on first call.

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

ObitCInterpolate* newObitCInterpolateCreate gchar *  name,
ObitCArray array,
ObitImageDesc desc,
gfloat  OSX,
gfloat  OSY,
glong  numConjCol,
glong  hwidth,
ObitErr err
 

Public: Constructor from value.

Initializes class if needed on first call. This class is intended for use interpolating complex values in a UV grid which is the Fourier transform of an image. This is potentially modified by OSX, OSY and herm. Only 1 and 2D arrays are handled. Note: The FFTW convention for halfplane complex images is different from AIPS, the "short" = n/2+1 axis is the first one rather than the second.

Parameters:
name An optional name for the object.
array The ObitCArray to be interpolated.
desc if nonNULL, an image descriptor describing the image whose Fourier transform is to be interpolated.
OSX Oversampling factor in X/U, use 1.0 for unpadded image
OSY Oversampling factor in Y/V
numConjCol Number of conjugate (neg V) columns in array, should be at least hwidth
hwidth Half width of interpolation kernal (range [1,8] allowed).
Returns:
the new object.

void ObitCInterpolate1D ObitCInterpolate in,
gfloat  pixel,
gfloat  out[2]
 

Public: Interpolate value in 1- array.

Parameters:
in The object to interpolate
pixel Pixel location (1-rel) in array
out Complex interpolated value as (real,Imag), magic value blanked

void ObitCInterpolateClassInit void   ) 
 

Public: Class initializer.

ObitCInterpolate* ObitCInterpolateClone ObitCInterpolate in,
ObitCInterpolate out
 

Public: Copy (shallow) constructor.

The result will have pointers to the more complex members. Parent class members are included but any derived class info is ignored.

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

ObitCInterpolate* ObitCInterpolateCopy ObitCInterpolate in,
ObitCInterpolate out,
ObitErr err
 

Public: Copy (deep) constructor.

Copies are made of complex members including disk files; these will be copied applying whatever selection is associated with the input. Parent class members are included but any derived class info is ignored.

Parameters:
in The object to copy
out An existing object pointer for output or NULL if none exists.
err Error stack, returns if not empty.
Returns:
pointer to the new object.

gconstpointer ObitCInterpolateGetClass void   ) 
 

Public: ClassInfo pointer.

Returns:
pointer to the class structure.

void ObitCInterpolateOffset ObitCInterpolate in,
gfloat *  off,
gfloat  out[2],
ObitErr err
 

Public: Interpolate Offset in 2D array.

The object must have an image descriptor to allow determing pixel coordinates. Interpolation between planes is not supported.

Parameters:
in The object to interpolate
off Coordinate offset in plane
out Complex interpolated value as (real,Imag), magic value blanked
err Error stack is pixel not inside image.

void ObitCInterpolatePixel ObitCInterpolate in,
gfloat *  pixel,
gfloat  out[2],
ObitErr err
 

Public: Interpolate Pixel in 2D array.

Interpolation between planes is not supported.

Parameters:
in The object to interpolate
pixel Pixel location (1-rel) in planes and which plane. Should have number of dimensions equal to in.
out Complex interpolated value as (real,Imag), magic value blanked
err Error stack if pixel not inside image.

void ObitCInterpolatePosition ObitCInterpolate in,
gdouble *  coord,
gfloat  out[2],
ObitErr err
 

Public: Interpolate Position in 2D array.

The object must have an image descriptor to allow determing pixel coordinates and the coordinates are assumed linear. Interpolation between planes is not supported.

Parameters:
in The object to interpolate
coord Coordinate value in plane and which plane. Should have number of dimensions equal to in.
out Complex interpolated value as (real,Imag), magic value blanked
err Error stack is pixel not inside image.

void ObitCInterpolateReplace ObitCInterpolate in,
ObitCArray newArray
 

Public: Replace member ObitCArray.

Parameters:
in The object to update
newArray The new CArray for in


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