Go to the documentation of this file.00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 #ifndef OBJECTFITS_H_
00009 #define OBJECTFITS_H_
00010 
00011 #include "InvTypes.h"
00012 #include <fitsio.h>
00013 #include "FITSParameters.h"
00014 
00025 typedef struct {
00026   Float *data;  
00027   int xDim;             
00028   int yDim;             
00029 } fits2d;
00030 
00037 typedef struct {
00038   Float **Real;         
00039   Float **Imaginary;    
00040   int xDim;                             
00041   int yDim;                             
00042   int zDim;                             
00043 } fits3d;
00044 
00049 typedef struct {
00050         int x;  
00051         int y;  
00052         int z;  
00053         int t;  
00054 } location;
00055 
00061 typedef struct {
00062         fitsfile *fptr;         
00063         location current;       
00064         location max;           
00065         int bitpix;             
00073         int dimension;          
00074 } MultiDimFits;
00075 
00079 typedef struct {
00080         int z;
00081         int t;
00082 } WhichPlane;
00083 
00084 
00085 void freeFits2d(fits2d f);
00086 void freeFits3d(fits3d f);
00087 
00088 fits2d readfits(char *filename);
00089 int writefits(char *filename, fits3d data);
00090 int writefits2d(char *filename, fits2d data);
00091 int writefits2dWithLambda(char *filename, fits2d data, Float lambda);
00092 
00093 MultiDimFits openMultiDimFitsRead(char *filename);
00094 void openMultiDimFitsWrite(char *filename, MultiDimFits *fileInfoPtr, FITSParameters headerParameters);
00095 fits2d readNextPlane(MultiDimFits fileInfo, WhichPlane whichPlane);
00096 void writeNextPlane(MultiDimFits fileInfo, WhichPlane whichPlane, fits2d data);
00097 int closeMultiDimFits(MultiDimFits fileInfo);
00098 
00099 int getHeaderParameters(char *filename, Float *mu, Float *sigmah, Float *nu);
00100 
00101 #endif