aboutsummaryrefslogtreecommitdiff
path: root/pkg/proto/vol/src/pvol.h
diff options
context:
space:
mode:
authorJoe Hunkeler <jhunkeler@gmail.com>2015-08-11 16:51:37 -0400
committerJoe Hunkeler <jhunkeler@gmail.com>2015-08-11 16:51:37 -0400
commit40e5a5811c6ffce9b0974e93cdd927cbcf60c157 (patch)
tree4464880c571602d54f6ae114729bf62a89518057 /pkg/proto/vol/src/pvol.h
downloadiraf-osx-40e5a5811c6ffce9b0974e93cdd927cbcf60c157.tar.gz
Repatch (from linux) of OSX IRAF
Diffstat (limited to 'pkg/proto/vol/src/pvol.h')
-rw-r--r--pkg/proto/vol/src/pvol.h58
1 files changed, 58 insertions, 0 deletions
diff --git a/pkg/proto/vol/src/pvol.h b/pkg/proto/vol/src/pvol.h
new file mode 100644
index 00000000..e232e8b1
--- /dev/null
+++ b/pkg/proto/vol/src/pvol.h
@@ -0,0 +1,58 @@
+# PVOL.H -- PVOL definitions.
+
+define COL 1 # image column index
+define LINE 2 # image line index
+define BAND 3 # image band index
+define DIS (sqrt (($1)*($1) + ($2)*($2)))
+define DRADIAN (57.295779513082320877D0)
+define DDEGTORAD (double($1)/DRADIAN)
+define DRADTODEG (double($1)*DRADIAN)
+define DPI 3.1415926535897932385D0
+define DTWOPI 6.2831853071795864769D0
+define DHALFPI 1.5707963267948966192D0
+define DTHREEPIOVER2 (1.5D0 * DPI)
+define DEF_IMIN (0.0)
+define DEF_IMAX (1.0)
+
+define ALG_INCREM 1 # incremental dda proj. algor.
+define ALG_BRESEN 2 # bresenham dda proj. algor.
+define ALG_MATRIX 3 # rotation matrix prol. algor.
+define P_ATTENUATE 1 # attenuate by voxval (opacity)
+define P_AVERAGE 2 # average projected intensities
+define P_SUM 3 # sum voxel intensities
+define P_INVDISPOW 4 # wt int. by inverse dis power
+define P_MODN 5 # use only f(ndecades) voxels
+define P_LASTONLY 6 # use only last voxval > cutoff
+
+# Volume rotation descriptor
+define LEN_VP 30
+
+# Projection geometry elements:
+define P_ALGORITHM Memi[$1] # Projection algorithm
+define DEGREES Memr[P2R($1+1)] # Degrees per rotation increment
+define NFRAMES Memi[$1+2] # Number of rotation increments
+define VECX Memr[P2R($1+3)] # Rotation axis X vector
+define VECY Memr[P2R($1+4)] # Rotation axis Y vector
+define VECZ Memr[P2R($1+5)] # Rotation axis Z vector
+define INIT_THETA Memr[P2R($1+6)] # Initial rotation angle
+define MAX_WS Memi[$1+7] # Maximum working set size
+# reserved space
+
+# Light transmission elements:
+define OPACELEM Memi[$1+10] # Opacity element in 4th dimen
+define PTYPE Memi[$1+11] # Projection type, voxel val 1
+define OMIN Memr[P2R($1+12)] # Voxel opacity minimum
+define OMAX Memr[P2R($1+13)] # Voxel opacity maximum
+define OSCALE Memr[P2R($1+14)] # Opacity scale factor
+define AMIN Memr[P2R($1+15)] # Attenuation factor minimum
+define AMAX Memr[P2R($1+16)] # Attenuation factor maximum
+define VIMIN Memr[P2R($1+17)] # Voxel intensity minimum
+define VIMAX Memr[P2R($1+18)] # Voxel intensity maximum
+define IZERO Memr[P2R($1+19)] # Background illumination
+define DISPOWER Memr[P2R($1+20)] # Distance weighting power
+define MODN Memi[$1+21] # Use vox w/ (mod(val*100,modn))
+define IIMIN Memr[P2R($1+22)] # Input intensity minimum
+define IIMAX Memr[P2R($1+23)] # Input intensity maximum
+define VERBOSE Memi[$1+24] # Write verbose output?
+define DISCUTOFF Memi[$1+25] # Measure distance w/in cutoffs
+# reserved space