00001
00002 #ifdef __cplusplus
00003 extern "C" {
00004 #endif
00005
00006 #ifndef MOSAIC_H
00007 #define MOSAIC_H
00008
00009 #include "sadie_byte.h"
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 typedef struct {
00021 uint32_t left[2];
00022
00023 uint32_t right[2];
00024
00025 uint32_t top[2];
00026
00027 uint32_t bottom[2];
00028
00029 } REGION_OF_INTEREST;
00030
00031
00032
00033
00034 typedef struct {
00035 uint32_t startx;
00036 uint32_t endx;
00037 uint32_t starty;
00038 uint32_t endy;
00039 } MOSAIC_FRAME;
00040
00041
00042
00043
00044
00045 typedef struct {
00046 uint32_t nlin;
00047 uint32_t npix;
00048 uint32_t height_max;
00049
00050 uint32_t nframe;
00051 uint32_t *voffset;
00052
00053 uint32_t *vheight;
00054
00055 uint32_t hstart;
00056
00057 uint32_t hend;
00058
00059 uint32_t *vstart;
00060
00061 uint32_t *vend;
00062
00063 REGION_OF_INTEREST *roi;
00064 MOSAIC_FRAME *frame;
00065 } MOSAIC_INDEX;
00066
00067
00068
00069
00070
00071 extern int CHECKIMG_MOSAIC_INDEX (MOSAIC_INDEX *);
00072 extern void RELIMG_MOSAIC_INDEX (MOSAIC_INDEX **);
00073 extern void RELMEM_MOSAIC_INDEX (MOSAIC_INDEX *);
00074 extern void GETMEM_MOSAIC_INDEX (int, int, uint32_t, MOSAIC_INDEX **);
00075
00076 extern void MOSAIC_DISK2INDEX (unsigned char *, MOSAIC_INDEX **);
00077 extern void MOSAIC_INDEX2DISK (MOSAIC_INDEX *, unsigned char *);
00078
00079 extern void MOSAIC_BYTE_RESAMPL (IMAGE_BYTE *, MOSAIC_INDEX *, uint32_t, uint32_t, uint32_t, uint32_t, IMAGE **);
00080 extern void MOSAIC_BYTE_EXTRACT (IMAGE_BYTE *,MOSAIC_INDEX *, int, int, int, int, PIXEL,IMAGE **);
00081 extern void MOSAIC_BYTE_INSERT (IMAGE *, MOSAIC_INDEX *, int, int, IMAGE_BYTE **);
00082 extern void MOSAIC_BYTE_EXPORT (IMAGE_BYTE*, char*);
00083 extern void MOSAIC_IMPORT (MOSAIC_INDEX *, char *, int,int ,int , int,int ,int , IMAGE **);
00084
00085 extern void MOSAIC2MOSAIC_RESAMPL (IMAGE_BYTE *, MOSAIC_INDEX *, uint32_t, uint32_t, uint32_t, uint32_t, IMAGE_BYTE **);
00086 extern void INDEX_RESAMPL (MOSAIC_INDEX *, int, MOSAIC_INDEX **);
00087 extern void MOSAIC_BYTE_TRACKRINGS (IMAGE_BYTE *, MOSAIC_INDEX *, IMAGE_BYTE **, IMAGE_BYTE **);
00088
00089 #endif
00090
00091 #ifdef __cplusplus
00092 }
00093 #endif