00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef PM_FPA_FILE_H
00016 #define PM_FPA_FILE_H
00017
00018 #include "pslib.h"
00019 #include "pmConfig.h"
00020 #include "pmFPA.h"
00021 #include "pmFPAview.h"
00022
00023 typedef enum {
00024 PM_FPA_BEFORE,
00025 PM_FPA_AFTER,
00026 } pmFPAfilePlace;
00027
00028 typedef enum {
00029 PM_FPA_FILE_NONE,
00030 PM_FPA_FILE_SX,
00031 PM_FPA_FILE_OBJ,
00032 PM_FPA_FILE_CMP,
00033 PM_FPA_FILE_CMF,
00034 PM_FPA_FILE_RAW,
00035 PM_FPA_FILE_IMAGE,
00036 PM_FPA_FILE_PSF,
00037 PM_FPA_FILE_JPEG,
00038 } pmFPAfileType;
00039
00040 typedef enum {
00041 PM_FPA_MODE_NONE,
00042 PM_FPA_MODE_READ,
00043 PM_FPA_MODE_WRITE,
00044 PM_FPA_MODE_INTERNAL,
00045 PM_FPA_MODE_REFERENCE,
00046 } pmFPAfileMode;
00047
00048 typedef enum {
00049 PM_FPA_STATE_OPEN = 0x01,
00050 PM_FPA_STATE_CLOSED = 0x02,
00051 PM_FPA_STATE_INACTIVE = 0x04,
00052 } pmFPAfileState;
00053
00054 typedef struct
00055 {
00056 pmFPAfileMode mode;
00057 pmFPAfileType type;
00058 pmFPAfileState state;
00059
00060 pmFPALevel fileLevel;
00061 pmFPALevel dataLevel;
00062 pmFPALevel freeLevel;
00063
00064 pmFPA *fpa;
00065 psFits *fits;
00066
00067 psMetadata *phu;
00068 psMetadata *header;
00069
00070 pmReadout *readout;
00071
00072 psMetadata *names;
00073
00074 char *filerule;
00075 char *filextra;
00076 char *extrule;
00077 char *extxtra;
00078
00079 char *name;
00080 char *filename;
00081 char *extname;
00082
00083 bool save;
00084
00085
00086
00087 pmFPA *src;
00088 int xBin;
00089 int yBin;
00090
00091 psMetadata *camera;
00092 psMetadata *format;
00093 }
00094 pmFPAfile;
00095
00096
00097 pmFPAfile *pmFPAfileAlloc ();
00098
00099
00100 pmReadout *pmFPAfileThisReadout (psMetadata *files, const pmFPAview *view, const char *name);
00101
00102
00103 bool pmFPAfileAddFileNames (psMetadata *files, char *name, char *value, int mode);
00104
00105
00106 char *pmFPAfileNameFromRule (char *rule, pmFPAfile *file, const pmFPAview *view);
00107
00108 bool pmFPAfileCopyView (pmFPA *out, pmFPA *in, const pmFPAview *view);
00109
00110 bool pmFPAfileCopyStructureView (pmFPA *out, pmFPA *in, int xBin, int yBin, const pmFPAview *view);
00111
00112 # endif