diff options
Diffstat (limited to 'pkg/proto/vol/src/pvol.h')
-rw-r--r-- | pkg/proto/vol/src/pvol.h | 58 |
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 |