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

ObitImage.h File Reference

ObitImage class definition. More...

#include "ObitData.h"
#include "ObitImageDesc.h"
#include "ObitImageSel.h"
#include "ObitTableList.h"
#include "ObitFArray.h"
#include "ObitUVGrid.h"
#include "ObitDef.h"
#include "ObitDataDef.h"
#include "ObitClassDef.h"
#include "ObitDataClassDef.h"

Go to the source code of this file.

Classes

struct  ObitImage
 ObitImage Class structure. More...
struct  ObitImageClassInfo
 ClassInfo Structure. More...

Defines

#define ObitImageUnref(in)   ObitUnref ( in)
 Macro to unreference (and possibly destroy) an ObitImage returns a ObitImage*.
#define ObitImageRef(in)   ObitRef (in)
 Macro to reference (update reference count) an ObitImage.
#define ObitImageIsA(in)   ObitIsA (in, ObitImageGetClass())
 Macro to determine if an object is the member of this or a derived class.
#define ObitImageSetFITS(in, size, disk, file, blc, trc, err)
 Convenience Macro to define Image I/O to a FITS file.
#define ObitImageSetAIPS(in, size, disk, cno, user, blc, trc, err)
 Convenience Macro to define Image I/O to an AIPS file.

Typedefs

typedef ObitImage *(* newObitImageScratchFP )(ObitImage *in, ObitErr *err)
 Typedef for definition of class pointer structure.
typedef void(* ObitImageFullInstantiateFP )(ObitImage *in, gboolean exist, ObitErr *err)
typedef gboolean(* ObitImageSameFP )(ObitImage *in1, ObitImage *in2, ObitErr *err)
typedef ObitIOCode(* ObitImageGetPlaneFP )(ObitImage *in, gfloat *data, gint plane[5], ObitErr *err)
typedef ObitIOCode(* ObitImagePutPlaneFP )(ObitImage *in, gfloat *data, gint plane[5], ObitErr *err)
typedef ObitTable *(* newObitImageTableFP )(ObitImage *in, ObitIOAccess access, gchar *tabType, glong *tabver, ObitErr *err)
typedef ObitIOCode(* ObitImageZapTableFP )(ObitImage *in, gchar *tabType, glong tabVer, ObitErr *err)
typedef ObitIOCode(* ObitImageCopyTablesFP )(ObitImage *in, ObitImage *out, gchar **exclude, gchar **include, ObitErr *err)
typedef ObitIOCode(* ObitImageUpdateTablesFP )(ObitImage *in, ObitErr *err)
typedef void(* ObitImageSetBeamNameFP )(ObitImage *in, ObitErr *err)

Functions

void ObitImageClassInit (void)
 Public: Class initializer.
ObitImagenewObitImage (gchar *name)
 Public: Constructor.
ObitImagenewObitImageScratch (ObitImage *in, ObitErr *err)
 Public: Copy Constructor for scratch file.
void ObitImageFullInstantiate (ObitImage *in, gboolean exist, ObitErr *err)
 Public: Fully instantiate.
gconstpointer ObitImageGetClass (void)
 Public: ClassInfo pointer.
void ObitImageRename (ObitImage *in, ObitErr *err)
 Public: Rename underlying structures.
ObitImageObitImageZap (ObitImage *in, ObitErr *err)
 Public: Delete underlying structures.
ObitImageObitImageCopy (ObitImage *in, ObitImage *out, ObitErr *err)
 Public: Copy (deep) constructor.
void ObitImageClone (ObitImage *in, ObitImage *out, ObitErr *err)
 Public: Copy structure.
void ObitImageClone2 (ObitImage *in1, ObitImage *in2, ObitImage *out, ObitErr *err)
 Public: Copy structure of in1 on grid of in2.
gboolean ObitImageSame (ObitImage *in1, ObitImage *in2, ObitErr *err)
 Public: Do two Imagess have the same underlying structures?.
void ObitImageCloneMem (ObitImage *in, ObitImage *out, ObitErr *err)
 Public: Copy structure of in to memory resident Image out.
ObitIOCode ObitImageOpen (ObitImage *in, ObitIOAccess access, ObitErr *err)
 Public: Create ObitIO structures and open file.
ObitIOCode ObitImageClose (ObitImage *in, ObitErr *err)
 Public: Close file and become inactive.
ObitIOCode ObitImageRead (ObitImage *in, gfloat *data, ObitErr *err)
 Public: Read specified data.
ObitIOCode ObitImageWrite (ObitImage *in, gfloat *data, ObitErr *err)
 Public: Write specified data.
ObitIOCode ObitImageGetPlane (ObitImage *in, gfloat *data, gint plane[5], ObitErr *err)
 Public: Read specified image plane.
ObitIOCode ObitImagePutPlane (ObitImage *in, gfloat *data, gint plane[5], ObitErr *err)
 Public: Write specified image plane.
ObitTablenewObitImageTable (ObitImage *in, ObitIOAccess access, gchar *tabType, glong *tabver, ObitErr *err)
 Public: Return an associated Table.
ObitIOCode ObitImageZapTable (ObitImage *in, gchar *tabType, glong tabVer, ObitErr *err)
 Public: Destroy an associated Table.
ObitIOCode ObitImageCopyTables (ObitImage *in, ObitImage *out, gchar **exclude, gchar **include, ObitErr *err)
 Public: Copy associated Tables.
ObitIOCode ObitImageUpdateTables (ObitImage *in, ObitErr *err)
 Public: Update disk resident tables information.
void ObitImageSetBeamName (ObitImage *image, ObitErr *err)
 Public: Set name etc for a beam associated with an image.
void ObitImageWriteKeyword (ObitImage *in, gchar *name, ObitInfoType type, gint32 *dim, gconstpointer data, ObitErr *err)
 Public: Write header keyword.
void ObitImageReadKeyword (ObitImage *in, gchar *name, ObitInfoType *type, gint32 *dim, gpointer data, ObitErr *err)
 Public: Read header keyword.


Detailed Description

ObitImage class definition.

This class is derived from the ObitData class. Related functions are in the ObitImageUtil , ObitConvUtil and ObitFeatherUtil modules.

This class contains an astronomical image and allows access. An ObitImage is the front end to a persistent disk resident structure. Magic value blanking is supported, blanked pixels have the value returned by ObitMagicF(). There may be associated tables (e.g. "AIPS CC" tables). These associated tables are listed in an ObitTableList member and the newObitUVTable function allows access to these tables. Both FITS and AIPS cataloged images are supported.

Specifying desired data transfer parameters

The desired data transfers are specified in the member ObitInfoList. There are separate sets of parameters used to specify the FITS or AIPS data files. In the following an ObitInfoList entry is defined by the name in double quotes, the data type code as an #ObitInfoType enum and the dimensions of the array (? => depends on application). To specify whether the underlying data files are FITS or AIPS: The following apply to both types of files:

FITS files

This implementation uses cfitsio which allows using, in addition to regular FITS images, gzip compressed files, pipes, shared memory and a number of other input forms. The convenience Macro ObitImageSetFITS simplifies specifying the desired data. For accessing FITS files the following entries in the ObitInfoList are used: The ObitImageDesc member may contain:

AIPS files

The ObitAIPS class must be initialized before accessing AIPS files; this uses ObitAIPSClassInit. The convenience macro ObitImageSetAIPS simplifies specifying the desired data. For accessing AIPS files the following entries in the ObitInfoList are used:

Creators and Destructors

An ObitImage can be created using newObitImage which allows specifying a name for the object. This name is used to label messages. The copy constructors ObitImageClone and ObitImageCopy make shallow and deep copies of an extant ObitImage. If the output ObitImage has previously been specified, including its disk resident information, then ObitImageCopy will copy the disk resident as well as the memory resident information.

A copy of a pointer to an ObitImage should always be made using the ObitImageRef function which updates the reference count in the object. Then whenever freeing an ObitImage or changing a pointer, the function ObitImageUnref will decrement the reference count and destroy the object when the reference count hits 0.

I/O

Pixel data in an image is available after an input object is "Opened" and "Read". I/O optionally uses a buffer attached to the ObitImage or some external location. To Write an ObitImage, create it, open it, and write. The object should be closed to ensure all data is flushed to disk. Deletion of an ObitImage after its final unreferencing will automatically close it.

Define Documentation

#define ObitImageIsA in   )     ObitIsA (in, ObitImageGetClass())
 

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

Macro to reference (update reference count) an ObitImage.

returns a ObitImage*. in = object to reference

#define ObitImageSetAIPS in,
size,
disk,
cno,
user,
blc,
trc,
err   ) 
 

Value:

G_STMT_START{  \
       in->info->dim[0]=1; in->info->dim[1]=1; in->info->dim[2]=1;  \
       in->info->dim[3]=1; in->info->dim[4]=1;                      \
       in->info->work[0] = OBIT_IO_AIPS;                            \
       in->info->work[1]= size;                                     \
       ObitInfoListPut (in->info, "FileType", OBIT_int,             \
                  in->info->dim, (gpointer)&in->info->work[0], err);\
       ObitInfoListPut (in->info, "IOBy", OBIT_int, in->info->dim,  \
                 (gpointer)&in->info->work[1], err);                \
       in->info->dim[0] = IM_MAXDIM;                                \
       ObitInfoListPut (in->info, "BLC", OBIT_int, in->info->dim,   \
                 (gpointer)blc, err);                               \
       ObitInfoListPut (in->info, "TRC", OBIT_int, in->info->dim,   \
                 (gpointer)trc, err);                               \
       in->info->dim[0] = 1;                                        \
       ObitInfoListPut (in->info, "Disk", OBIT_int,                 \
                 in->info->dim, (gpointer)&disk, err);              \
       ObitInfoListPut (in->info, "CNO", OBIT_int,                  \
                 in->info->dim, (gpointer)&cno, err);               \
       ObitInfoListPut (in->info, "User", OBIT_int,                 \
                 in->info->dim, (gpointer)&user, err);              \
     }G_STMT_END
Convenience Macro to define Image I/O to an AIPS file.

Sets values on ObitInfoList on input object.

  • in = ObitImage to specify i/O for.
  • size = size of I/O (OBIT_IO_byPlane or OBIT_IO_byRow).
  • disk = AIPS disk number
  • cno = catalog slot number
  • user = User id number
  • blc = gint[IM_MAXDIM] giving bottom left corner (1-rel)
  • trc = gint[IM_MAXDIM] giving top right corner (1-rel) 0s => whole image
  • err = ObitErr to receive error messages.

#define ObitImageSetFITS in,
size,
disk,
file,
blc,
trc,
err   ) 
 

Value:

G_STMT_START{ \
       in->info->dim[0]=1; in->info->dim[1]=1; in->info->dim[2]=1;  \
       in->info->dim[3]=1; in->info->dim[4]=1;                      \
       in->info->work[0] = OBIT_IO_FITS;                            \
       in->info->work[1]= size; in->info->work[2]= disk;            \
       ObitInfoListPut (in->info, "FileType", OBIT_int,             \
                  in->info->dim, (gpointer)&in->info->work[0], err);\
       ObitInfoListPut (in->info, "IOBy", OBIT_int, in->info->dim,  \
                 (gpointer)&in->info->work[1], err);                \
       in->info->dim[0] = IM_MAXDIM;                                \
       ObitInfoListPut (in->info, "BLC", OBIT_int, in->info->dim,   \
                 (gpointer)blc, err);                               \
       ObitInfoListPut (in->info, "TRC", OBIT_int, in->info->dim,   \
                 (gpointer)trc, err);                               \
       in->info->dim[0] = 1;                                        \
       ObitInfoListPut (in->info, "Disk", OBIT_int,                 \
                 in->info->dim, (gpointer)&in->info->work[2], err); \
       in->info->dim[0] = strlen(file);                             \
       ObitInfoListPut (in->info, "FileName", OBIT_string,          \
                 in->info->dim, (gpointer)file, err);               \
     }G_STMT_END
Convenience Macro to define Image I/O to a FITS file.

Sets values on ObitInfoList on input object.

  • in = ObitImage to specify i/O for.
  • size = size of I/O (OBIT_IO_byPlane or OBIT_IO_byRow).
  • disk = fits disk number
  • file = Specified FITS file name.
  • blc = gint[IM_MAXDIM] giving bottom left corner (1-rel)
  • trc = gint[IM_MAXDIM] giving top right corner (1-rel) 0s => whole image
  • err = ObitErr to receive error messages.

#define ObitImageUnref in   )     ObitUnref ( in)
 

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

in = object to unreference


Typedef Documentation

typedef ObitImage*(* newObitImageScratchFP)(ObitImage *in, ObitErr *err)
 

Typedef for definition of class pointer structure.

typedef ObitTable*(* newObitImageTableFP)(ObitImage *in, ObitIOAccess access, gchar *tabType, glong *tabver, ObitErr *err)
 

typedef ObitIOCode(* ObitImageCopyTablesFP)(ObitImage *in, ObitImage *out, gchar **exclude, gchar **include, ObitErr *err)
 

typedef void(* ObitImageFullInstantiateFP)(ObitImage *in, gboolean exist, ObitErr *err)
 

typedef ObitIOCode(* ObitImageGetPlaneFP)(ObitImage *in, gfloat *data, gint plane[5], ObitErr *err)
 

typedef ObitIOCode(* ObitImagePutPlaneFP)(ObitImage *in, gfloat *data, gint plane[5], ObitErr *err)
 

typedef gboolean(* ObitImageSameFP)(ObitImage *in1, ObitImage *in2, ObitErr *err)
 

typedef void(* ObitImageSetBeamNameFP)(ObitImage *in, ObitErr *err)
 

typedef ObitIOCode(* ObitImageUpdateTablesFP)(ObitImage *in, ObitErr *err)
 

typedef ObitIOCode(* ObitImageZapTableFP)(ObitImage *in, gchar *tabType, glong tabVer, ObitErr *err)
 


Function Documentation

ObitImage* newObitImage gchar *  name  ) 
 

Public: Constructor.

Initializes class if needed on first call.

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

ObitImage* newObitImageScratch ObitImage in,
ObitErr err
 

Public: Copy Constructor for scratch file.

A scratch Image is more or less the same as a normal Image except that it is automatically deleted on the final unreference. The output will have the underlying files of the same type as in already allocated.

Parameters:
in The object to copy, info may have
  • ScrSize OBIT_int (?,1,1) Dimension of the desired scratch Image
err Error stack, returns if not empty.
Returns:
pointer to the new object.

ObitTable* newObitImageTable ObitImage in,
ObitIOAccess  access,
gchar *  tabType,
glong *  tabVer,
ObitErr err
 

Public: Return an associated Table.

If such an object exists, a reference to it is returned, else a new object is created and entered in the ObitTableList.

Parameters:
in Pointer to object with associated tables. This MUST have been opened before this call.
access access (OBIT_IO_ReadOnly,OBIT_IO_ReadWrite, or OBIT_IO_WriteOnly). This is used to determine defaulted version number and a different value may be used for the actual Open.
tabType The table type (e.g. "AIPS CC").
tabVer Desired version number, may be zero in which case the highest extant version is returned for read and the highest+1 for write.
err ObitErr for reporting errors.
Returns:
pointer to created ObitTable, NULL on failure.

void ObitImageClassInit void   ) 
 

Public: Class initializer.

void ObitImageClone ObitImage in,
ObitImage out,
ObitErr err
 

Public: Copy structure.

Output version set to floating pixels

Parameters:
in The object to copy, info may have
out An existing object pointer for output, info may have
  • Size OBIT_int (?,1,1) Dimension of the desired Image
err Error stack, returns if not empty.

void ObitImageClone2 ObitImage in1,
ObitImage in2,
ObitImage out,
ObitErr err
 

Public: Copy structure of in1 on grid of in2.

Only sets descriptor and data buffer members on out. Suitable for memory only image, out->mySel->FileType set to OBIT_IO_MEM. Returns without error if in1 cannot be projected onto in2. Routine translated from the AIPSish 4MASS/SUB/FLATEN.FOR/FLTMSC

Parameters:
in1 Image whose region is to be covered, must have actual descriptor
in2 Image whose geometry is to be copied , must have actual descriptor
out An existing object pointer for output. If the image (FArray) member exists, it is resized if needed. Descriptor updated to reflect any resizing
err Error stack, returns if not empty.

void ObitImageCloneMem ObitImage in,
ObitImage out,
ObitErr err
 

Public: Copy structure of in to memory resident Image out.

out->mySel->FileType set to OBIT_IO_MEM.

Parameters:
in Image to be duplicated
out An existing object pointer for output. If the image (FArray) member exists, it is resized if needed. Descriptor updated to reflect any resizing
err Error stack, returns if not empty.

ObitIOCode ObitImageClose ObitImage in,
ObitErr err
 

Public: Close file and become inactive.

Parameters:
in Pointer to object to be closed.
err ObitErr for reporting errors.
Returns:
error code, OBIT_IO_OK=> OK

ObitImage* ObitImageCopy ObitImage in,
ObitImage 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. Objects should be closed on input and will be closed on output. In order for the disk file structures to be copied, the output file must be sufficiently defined that it can be written. The copy will be attempted but no errors will be logged until both input and output have been successfully opened. ObitInfoList and ObitThread members are only copied if the output object didn't previously exist. 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.

ObitIOCode ObitImageCopyTables ObitImage in,
ObitImage out,
gchar **  exclude,
gchar **  include,
ObitErr err
 

Public: Copy associated Tables.

Parameters:
in The ObitImage with tables to copy.
out An ObitImage to copy the tables to, old ones replaced.
exclude a NULL termimated list of table types NOT to copy. If NULL, use include
include a NULL termimated list of table types to copy. ignored if exclude nonNULL.
err ObitErr for reporting errors.
Returns:
return code, OBIT_IO_OK=> OK

void ObitImageFullInstantiate ObitImage in,
gboolean  exist,
ObitErr err
 

Public: Fully instantiate.

If object has previously been opened, as demonstrated by the existance of its myIO member, this operation is a no-op. Virtual - calls actual class member

Parameters:
in Pointer to object
exist TRUE if object should previously exist, else FALSE
err ObitErr for reporting errors.
Returns:
error code, OBIT_IO_OK=> OK

gconstpointer ObitImageGetClass void   ) 
 

Public: ClassInfo pointer.

Returns:
pointer to the class structure.

ObitIOCode ObitImageGetPlane ObitImage in,
gfloat *  data,
gint  plane[5],
ObitErr err
 

Public: Read specified image plane.

If the object is open on call it is returned open, otherwise closed. The ObitImageDesc maintains the current location in the image. This is a NOP if in is a memory only image Note: the underlying routines need more work for > 3 dimensions, descriptor plane needs to be turned into an array.

Parameters:
in Pointer to object to be read.
data Pointer to buffer to write results. if NULL, use the image member of in.
plane 5 element array giving pixel numbers (1-rel) on axes 3-7
err ObitErr for reporting errors.
Returns:
return code, OBIT_IO_OK => OK

ObitIOCode ObitImageOpen ObitImage in,
ObitIOAccess  access,
ObitErr err
 

Public: Create ObitIO structures and open file.

The image descriptor is read if OBIT_IO_ReadOnly or OBIT_IO_ReadWrite and written to disk if opened OBIT_IO_WriteOnly. Update for selection (blc,trc) is only done on OBIT_IO_ReadOnly . After the file has been opened, the member image is initialized for storing the image unless member extBuffer is TRUE. The file etc. info should have been stored in the ObitInfoList: "FileType" OBIT_int scalar = OBIT_IO_FITS or OBIT_IO_AIPS or OBIT_IO_MEM (no persistent form ) for file type.

Parameters:
in Pointer to object to be opened.
access access (OBIT_IO_ReadOnly,OBIT_IO_ReadWrite or OBIT_IO_WriteOnly).
err ObitErr for reporting errors.
Returns:
return code, OBIT_IO_OK=> OK

ObitIOCode ObitImagePutPlane ObitImage in,
gfloat *  data,
gint  plane[5],
ObitErr err
 

Public: Write specified image plane.

If the object is open on call it is returned open, otherwise closed. The ObitImageDesc maintains the current location in the image. This is a NOP if in is a memory only image Note: the underlying routines need more work for > 3 dimensions, descriptor plane needs to be turned into an array.

Parameters:
in Pointer to object to be read.
data Pointer to buffer with pixel data if NULL, use the image member of in.
plane 5 element array giving pixel numbers (1-rel) on axes 3-7
err ObitErr for reporting errors.
Returns:
return code, OBIT_IO_OK => OK

ObitIOCode ObitImageRead ObitImage in,
gfloat *  data,
ObitErr err
 

Public: Read specified data.

Reads row in->myDesc->row + 1; plane in->myDesc->plane + 1 A series of calls will read sequential sections of the image, either a row at a time or a plane at a time as specified to ObitImageOpen. The ObitImageDesc maintains the current location in the image. This is a NOP if in is a memory only image

Parameters:
in Pointer to object to be read.
data pointer to buffer to write results. if NULL, use the image member of in.
err ObitErr for reporting errors.
Returns:
return code, OBIT_IO_OK => OK

void ObitImageReadKeyword ObitImage in,
gchar *  name,
ObitInfoType *  type,
gint32 *  dim,
gpointer  data,
ObitErr err
 

Public: Read header keyword.

Parameters:
in object to update, must be fully instantiated
name [out] The label (keyword) of the information. Max 8 char
type [out] Data type of data element (enum defined in ObitInfoList class).
dim [out] Dimensionality of datum. Only scalars and strings up to 8 char are supported Note: for strings, the first element is the length in char.
data [out] Pointer to the data.
err ObitErr for reporting errors.

void ObitImageRename ObitImage in,
ObitErr err
 

Public: Rename underlying structures.

For FITS files:

  • "newFileName" OBIT_string (?,1,1) New Name of disk file.
For AIPS:
  • "newName" OBIT_string (12,1,1) New AIPS Name Blank = don't change
  • "newClass" OBIT_string (6,1,1) New AIPS Class Blank = don't changeO
  • "newSeq" OBIT_int (1,1,1) New AIPS Sequence 0 => unique value
    Parameters:
    in Pointer to object to be renamed.
    err ObitErr for reporting errors.

gboolean ObitImageSame ObitImage in1,
ObitImage in2,
ObitErr err
 

Public: Do two Imagess have the same underlying structures?.

This test is done using values entered into the ObitInfoList in case the object has not yet been opened.

Parameters:
in1 First object to compare
in2 Second object to compare
err ObitErr for reporting errors.
Returns:
TRUE if to objects have the same underlying structures else FALSE

void ObitImageSetBeamName ObitImage image,
ObitErr err
 

Public: Set name etc for a beam associated with an image.

Parameters:
image Image whose beam name is to be set
err ObitErr stack for reporting problems.

ObitIOCode ObitImageUpdateTables ObitImage in,
ObitErr err
 

Public: Update disk resident tables information.

Parameters:
in Pointer to object to be updated.
err ObitErr for reporting errors.
Returns:
return code, OBIT_IO_OK=> OK

ObitIOCode ObitImageWrite ObitImage in,
gfloat *  data,
ObitErr err
 

Public: Write specified data.

Writes row in->myDesc->row + 1; plane in->myDesc->plane + 1 A series of calls will write sequential sections of the image, either a row at a time or a plane at a time as specified to ObitImageOpen. The ObitImageDesc maintains the current location in the image. This is a NOP if in is a memory only image

Parameters:
in Pointer to object to be written.
data pointer to buffer containing input data. if NULL, use the image member of in.
err ObitErr for reporting errors.
Returns:
return code, OBIT_IO_OK=> OK

void ObitImageWriteKeyword ObitImage in,
gchar *  name,
ObitInfoType  type,
gint32 *  dim,
gconstpointer  data,
ObitErr err
 

Public: Write header keyword.

Parameters:
in object to update, must be open during call with Write access
name The label (keyword) of the information. Max 8 char
type Data type of data element (enum defined in ObitInfoList class).
dim Dimensionality of datum. Only scalars and strings up to 8 char are allowed Note: for strings, the first element is the length in char.
data Pointer to the data.
err ObitErr for reporting errors.

ObitImage* ObitImageZap ObitImage in,
ObitErr err
 

Public: Delete underlying structures.

Parameters:
in Pointer to object to be zapped.
err ObitErr for reporting errors.
Returns:
pointer for input object, NULL if deletion successful

ObitIOCode ObitImageZapTable ObitImage in,
gchar *  tabType,
glong  tabVer,
ObitErr err
 

Public: Destroy an associated Table.

The table is removed from the ObitTableList but the external form may not be updated.

Parameters:
in Pointer to object with associated tables.
tabType The table type (e.g. "AIPS CC").
tabVer Desired version number, may be zero in which case the highest extant version is returned for read and the highest+1 for write. -1 => all versions of tabType
err ObitErr for reporting errors.
Returns:
return code, OBIT_IO_OK=> OK


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