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