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