Main Page   Compound List   File List   Compound Members   File Members  

mfitsio.h

Go to the documentation of this file.
00001 
00028 #ifndef MFITSIO_H
00029 
00031 #define MFITSIO_H
00032 
00034 #define MFITSIO_WARN mexWarnMsgTxt
00035 
00037 #define MFITSIO_ERR mexErrMsgTxt
00038 
00040 #define MFITSIO_PRINTF mexPrintf
00041 
00043 #define MFITSIO_FREE free
00044 
00047 #define MFITSIO_MALLOC malloc
00048 
00051 #define MFITSIO_CALLOC calloc
00052 
00056 #define MFITSIO_READONLY READONLY
00057 
00061 #define MFITSIO_READWRITE READWRITE
00062 
00063 #include "mex.h"
00064 #include "matrix.h"
00065 #include <fitsio.h>
00066 
00070 typedef struct
00071 {
00072   char *key;
00073   char *value;
00074   int type;
00075 }
00076 mfitsio_record;
00077 
00080 typedef struct
00081 {
00082   mfitsio_record **records;
00083   int length;
00084 }
00085 mfitsio_header;
00086 
00090 typedef struct
00091 {
00092   int naxis;
00093   int *naxes;
00094   int bitpix;
00095   int check;
00096 }
00097 mfitsio_info;
00098 
00099 void mfitsio_free_record (mfitsio_record * record);
00100 void mfitsio_free_header (mfitsio_header * header);
00101 void mfitsio_free_info (mfitsio_info * info);
00102 mfitsio_record *mfitsio_parse_card (const char *cardtext);
00103 mfitsio_header *mfitsio_read_header (const char *filename);
00104 mxArray *mfitsio_adapt_frecord (const mfitsio_record * record);
00105 mxArray *mfitsio_adapt_fheader (const mfitsio_header * record);
00106 mfitsio_info *mfitsio_read_info (const char * filename);
00107 mxArray *mfitsio_read_image (const char *filename,
00108                               const mfitsio_info * info);
00109 mxArray *mfitsio_read_image_impl (const char *filename,
00110                                   const mfitsio_info * info,
00111                                   long *fpixels, long *lpixels,
00112                                   long *lnaxes, long *inc);
00113 void mfitsio_write_image (const char *filename,
00114                            const mxArray * header, mxArray * img);
00115 void mfitsio_write_image_impl (const char *filename, const mxArray * header,
00116                                mxArray * img, long *fpixels, long *lpixels,
00117                                long *lnaxes, long *inc, mfitsio_info *info);
00118 void mfitsio_write_header (const char *filename, const mxArray * header);
00119 void mfitsio_delete_keyword (const char *filename, const char *keyword);
00120 mfitsio_info *mfitsio_calc_info (const mxArray * img);
00121 void mfitsio_write_info (fitsfile * fptr, const mfitsio_info * info);
00122 int mfitsio_is_scalar (const mxArray * array);
00123 int mfitsio_forbidden (const char *s);
00124 mxArray *mfitsio_get_mfield (const mxArray * array, int index,
00125                              const char *field_name);
00126 double mfitsio_get_mscalar (const mxArray * array);
00127 void mfitsio_check_coordinate (const mxArray *crd1, const mxArray *crd2,
00128                                const int naxis, const int *naxes);
00129 void mfitsio_check_size_info(const mxArray *crd1);
00130 long *mfitsio_convert_dbl2long (const double *dbl, const int size);
00131 long *mfitsio_convert_int2long (const int *in, const int size);
00132 long *mfitsio_create_ones_vector (const int size);
00133 int *mfitsio_get_region_size(const long *crd1, const long *crd2,
00134                              const int naxis);
00135 mxArray *mfitsio_get_lpixels(const mxArray *spixels, const mxArray *img, 
00136                              int naxis);
00137 void mfitsio_write_image_execute(fitsfile *file,
00138                                  mxArray *img, long group, long naxis,
00139                                  long *naxes, long *fpixel, long *lpixel,
00140                                  int *status);
00141 mxArray *mfitsio_read_image_execute(const mfitsio_info *info, int *diff,
00142                                     fitsfile *fptr,
00143                                     int group, int naxis, long *lnaxes,
00144                                     long *fpixel, long *lpixel,
00145                                     long *inc, int *anynul, int *status);
00146 #endif 


Operated by University of California for the National Nuclear Security Administration of the US Department of Energy. Copyright © 2002-2003 UC | Disclaimer/Privacy
This website has been approved for unlimited release with associated LA-UR number LA-UR-03-0949.