aboutsummaryrefslogtreecommitdiff
path: root/pkg/images/immatch/src/xregister/xregister.h
diff options
context:
space:
mode:
authorJoseph Hunkeler <jhunkeler@gmail.com>2015-07-08 20:46:52 -0400
committerJoseph Hunkeler <jhunkeler@gmail.com>2015-07-08 20:46:52 -0400
commitfa080de7afc95aa1c19a6e6fc0e0708ced2eadc4 (patch)
treebdda434976bc09c864f2e4fa6f16ba1952b1e555 /pkg/images/immatch/src/xregister/xregister.h
downloadiraf-linux-fa080de7afc95aa1c19a6e6fc0e0708ced2eadc4.tar.gz
Initial commit
Diffstat (limited to 'pkg/images/immatch/src/xregister/xregister.h')
-rw-r--r--pkg/images/immatch/src/xregister/xregister.h250
1 files changed, 250 insertions, 0 deletions
diff --git a/pkg/images/immatch/src/xregister/xregister.h b/pkg/images/immatch/src/xregister/xregister.h
new file mode 100644
index 00000000..16c88b1e
--- /dev/null
+++ b/pkg/images/immatch/src/xregister/xregister.h
@@ -0,0 +1,250 @@
+# Header file for XREGISTER
+
+# Define the cross correlation structure
+
+define LEN_XCSTRUCT (50 + 12 * SZ_FNAME + 12)
+
+define XC_RC1 Memi[$1] # pointers to 1st column of ref regions
+define XC_RC2 Memi[$1+1] # pointers to 2nd column of ref regions
+define XC_RL1 Memi[$1+2] # pointers to 1st line of ref regions
+define XC_RL2 Memi[$1+3] # pointers to 2nd line of ref regions
+define XC_RZERO Memi[$1+4] # pointers to zero pts of ref regions
+define XC_RXSLOPE Memi[$1+5] # pointers to x slopes of ref regions
+define XC_RYSLOPE Memi[$1+6] # pointers to y slopes of ref regions
+define XC_XSHIFTS Memi[$1+7] # pointers to x shifts of ref regions
+define XC_YSHIFTS Memi[$1+8] # pointers to y shifts of ref regions
+define XC_NREGIONS Memi[$1+9] # total number of regions
+define XC_CREGION Memi[$1+10] # the current region
+
+define XC_NREFPTS Memi[$1+11] # number of reference points
+define XC_XREF Memi[$1+12] # pointer to x reference points
+define XC_YREF Memi[$1+13] # pointer to y reference points
+define XC_TRANSFORM Memi[$1+14] # pointer to the transform
+define XC_IXLAG Memi[$1+15] # initial shift in x
+define XC_IYLAG Memi[$1+16] # initial shift in y
+define XC_XLAG Memi[$1+17] # current shift in x
+define XC_YLAG Memi[$1+18] # current shift in y
+define XC_DXLAG Memi[$1+19] # incremental shift in x
+define XC_DYLAG Memi[$1+20] # incremental shift in y
+
+define XC_BACKGRD Memi[$1+21] # type of background subtraction
+define XC_BORDER Memi[$1+22] # width of background border
+define XC_BVALUER Memr[P2R($1+23)] # reference background value
+define XC_BVALUE Memr[P2R($1+24)] # image bacground value
+define XC_LOREJECT Memr[P2R($1+25)] # low side rejection
+define XC_HIREJECT Memr[P2R($1+26)] # high side rejection
+define XC_APODIZE Memr[P2R($1+27)] # fraction of apodized region
+define XC_FILTER Memi[$1+28] # filter type
+
+define XC_CFUNC Memi[$1+30] # crosscor function
+define XC_XWINDOW Memi[$1+31] # width of correlation window in x
+define XC_YWINDOW Memi[$1+32] # width of correlation window in y
+define XC_XCOR Memi[$1+33] # pointer to cross-correlation function
+
+define XC_PFUNC Memi[$1+34] # correlation peak fitting function
+define XC_XCBOX Memi[$1+35] # x width of cor fitting box
+define XC_YCBOX Memi[$1+36] # y width of cor fitting box
+
+define XC_TXSHIFT Memr[P2R($1+37)] # total x shift
+define XC_TYSHIFT Memr[P2R($1+38)] # total y shift
+
+define XC_BSTRING Memc[P2C($1+50)] # background type
+define XC_FSTRING Memc[P2C($1+50+SZ_FNAME+1)] # filter string
+define XC_CSTRING Memc[P2C($1+50+2*SZ_FNAME+2)] # cross-correlation type
+define XC_PSTRING Memc[P2C($1+50+3*SZ_FNAME+3)] # peak centering
+
+define XC_IMAGE Memc[P2C($1+50+4*SZ_FNAME+4)] # input image
+define XC_REFIMAGE Memc[P2C($1+50+5*SZ_FNAME+5)] # reference image
+define XC_REGIONS Memc[P2C($1+50+6*SZ_FNAME+6)] # regions list
+define XC_DATABASE Memc[P2C($1+50+7*SZ_FNAME+7)] # shifts database
+define XC_OUTIMAGE Memc[P2C($1+50+8*SZ_FNAME+8)] # output image
+define XC_REFFILE Memc[P2C($1+50+9*SZ_FNAME+9)] # coordinates file
+define XC_RECORD Memc[P2C($1+50+10*SZ_FNAME+10)] # record
+
+# Define the id strings
+
+define RC1 1
+define RC2 2
+define RL1 3
+define RL2 4
+define RZERO 5
+define RXSLOPE 6
+define RYSLOPE 7
+define XSHIFTS 8
+define YSHIFTS 9
+define NREGIONS 10
+define CREGION 11
+
+define NREFPTS 12
+define XREF 13
+define YREF 14
+define TRANSFORM 15
+define IXLAG 16
+define IYLAG 17
+define XLAG 18
+define YLAG 19
+define DXLAG 20
+define DYLAG 21
+
+define BACKGRD 22
+define BVALUER 23
+define BVALUE 24
+define BORDER 25
+define LOREJECT 26
+define HIREJECT 27
+define APODIZE 28
+define FILTER 29
+
+define CFUNC 30
+define XWINDOW 31
+define YWINDOW 32
+define XCOR 33
+
+define PFUNC 34
+define XCBOX 35
+define YCBOX 36
+
+define TXSHIFT 37
+define TYSHIFT 38
+
+define CSTRING 39
+define BSTRING 40
+define PSTRING 41
+define FSTRING 42
+
+define IMAGE 43
+define REFIMAGE 44
+define REGIONS 45
+define OUTIMAGE 46
+define REFFILE 47
+define DATABASE 48
+define RECORD 49
+
+# Define the default parameter values
+
+define DEF_IXLAG 0
+define DEF_IYLAG 0
+define DEF_DXLAG 0
+define DEF_DYLAG 0
+define DEF_XWINDOW 5
+define DEF_YWINDOW 5
+
+define DEF_BACKGRD XC_BNONE
+define DEF_BORDER INDEFI
+define DEF_LOREJECT INDEFR
+define DEF_HIREJECT INDEFR
+
+define DEF_XCBOX 5
+define DEF_YCBOX 5
+define DEF_PFUNC XC_CENTROID
+
+# Define the background fitting techniques
+
+define XC_BNONE 1
+define XC_MEAN 2
+define XC_MEDIAN 3
+define XC_SLOPE 4
+
+define XC_BTYPES "|none|mean|median|plane|"
+
+# Define the filtering options
+
+define XC_FNONE 1
+define XC_LAPLACE 2
+
+define XC_FTYPES "|none|laplace|"
+
+# Define the cross correlation techniques
+
+define XC_DISCRETE 1
+define XC_FOURIER 2
+define XC_DIFFERENCE 3
+define XC_FILE 4
+
+define XC_CTYPES "|discrete|fourier|difference|file|"
+
+# Define the peak fitting functions
+
+define XC_PNONE 1
+define XC_CENTROID 2
+define XC_SAWTOOTH 3
+define XC_PARABOLA 4
+define XC_MARK 5
+
+define XC_PTYPES "|none|centroid|sawtooth|parabola|mark|"
+
+# Miscellaneous
+
+define MAX_NREGIONS 100
+define MAX_NREF 3
+define MAX_NTRANSFORM 6
+
+# Commands
+
+define XCMDS "|reference|input|regions|shifts|output|records|transform|\
+cregion|xlag|ylag|dxlag|dylag|background|border|loreject|hireject|apodize|\
+filter|correlation|xwindow|ywindow|function|xcbox|ycbox|show|mark|"
+
+define XSHOW "|data|background|correlation|center|"
+
+define XSHOW_DATA 1
+define XSHOW_BACKGROUND 2
+define XSHOW_CORRELATION 3
+define XSHOW_PEAKCENTER 4
+
+define XCMD_REFIMAGE 1
+define XCMD_IMAGE 2
+define XCMD_REGIONS 3
+define XCMD_DATABASE 4
+define XCMD_OUTIMAGE 5
+define XCMD_RECORD 6
+define XCMD_REFFILE 7
+define XCMD_CREGION 8
+define XCMD_XLAG 9
+define XCMD_YLAG 10
+define XCMD_DXLAG 11
+define XCMD_DYLAG 12
+define XCMD_BACKGROUND 13
+define XCMD_BORDER 14
+define XCMD_LOREJECT 15
+define XCMD_HIREJECT 16
+define XCMD_APODIZE 17
+define XCMD_FILTER 18
+define XCMD_CORRELATION 19
+define XCMD_XWINDOW 20
+define XCMD_YWINDOW 21
+define XCMD_PEAKCENTER 22
+define XCMD_XCBOX 23
+define XCMD_YCBOX 24
+define XCMD_SHOW 25
+define XCMD_MARK 26
+
+# Keywords
+
+define KY_REFIMAGE "reference"
+define KY_IMAGE "input"
+define KY_REGIONS "regions"
+define KY_DATABASE "shifts"
+define KY_OUTIMAGE "output"
+define KY_RECORD "record"
+define KY_REFFILE "coords"
+define KY_NREGIONS "nregions"
+define KY_CREGION "region"
+define KY_XLAG "xlag"
+define KY_YLAG "ylag"
+define KY_DXLAG "dxlag"
+define KY_DYLAG "dylag"
+define KY_BACKGROUND "background"
+define KY_BORDER "border"
+define KY_LOREJECT "loreject"
+define KY_HIREJECT "hireject"
+define KY_APODIZE "apodize"
+define KY_FILTER "filter"
+define KY_CORRELATION "correlation"
+define KY_XWINDOW "xwindow"
+define KY_YWINDOW "ywindow"
+define KY_PEAKCENTER "function"
+define KY_XCBOX "xcbox"
+define KY_YCBOX "ycbox"
+define KY_TXSHIFT "xshift"
+define KY_TYSHIFT "yshift"