Oct  2, 1996:

repaired usage checking and some usage printing in:

congruent-volume.cc
ge-to-vf.cc
noheader-to-vf.cc
siemens-to-vf.cc
smooth-3d.cc
subtract-volumes.cc
vf-to-noheader.cc
wl-volume.cc
 
--



need to rename ge-to-vf to be genesis-to-vf

need to get old ge-to-vf and call it signa-to-vf

need to update README

---------------------------------------------------------------------------

BUGS

	when a win is created wrapped around an athena widget, 
	the colormap setting stuff doesn't work in the
	case that a private colormap is needed.



tp-display-mm:

	speed up "update"
	work on inner loops. avoid virtual fn calls, and fn calls

	


---------------------------------------------------------------------------
make a table to translate intensities...





			voxel types of existing applications

CURRENT

add-volumes.cc		16 		
blur.cc			8
central-slices.cc	8 
congruent-volume.cc	8,16	currently nasty structure
extract-slices.cc	8	
ge-to-vf-16.cc		16
ge-to-vf.cc		8
inrimage-to-vf.cc	8
invert-16.cc		16
invert.cc		8 
mix-volumes.cc		8  
noheader-to-vf.cc	8
noheader-to-vf16.cc	16
reformat-3d.cc		8
siemens-to-vf.cc	8
smooth-3d-xy.cc		8
smooth-3d.cc		8
subtract-volumes.cc	16
vanderbilt-to-vf.cc	8 
vax-to-vf.cc		8
vf-to-ge.cc		8
vf-to.cc		8
vf16-to-ge.cc		16
vf16-to-noheader.cc	16



cruise-volume.cc	8
dual-tp-display-mm.cc	8
dual-tp-display.cc	8
im-disp.cc		8
tp-display-mm.cc	8
tp-display.cc		8


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


DESIRED

existing:

CONVERTERS:

central-slices.cc	8
extract-slices.cc	8	
ge-to-vf.cc		8, 16
inrimage-to-vf.cc	8
noheader-to-vf.cc	8, 16
siemens-to-vf.cc	8, 16
vanderbilt-to-vf.cc	8 
vax-to-vf.cc		8, 16
vf-to-ge.cc		8, 16
vf-to-noheader.cc	8, 16

COMBINERS:

add-volumes.cc		8, 16 		
mix-volumes.cc		8, 16
subtract-volumes.cc	8, 16

REFORMATTERS:
congruent-volume.cc	8, 16	
reformat-3d.cc		8, 16

MUNGERS:
invert.cc		8, 16
smooth-3d-xy.cc		8, 16
smooth-3d.cc		8, 16

DISPLAYERS:
cruise-volume.cc	8, 16
dual-tp-display-mm.cc	8, 16
dual-tp-display.cc	8, 16
tp-display-mm.cc	8, 16
tp-display.cc		8, 16
(these guys will need window, level controls to do 16 bits well...)

new:
coercer			8, 16

flush:
vf-to.cc		8


most access patterns involve triple loops, or double loops.  native indexing
is frequent, as is interpolated reads.



Design notes:
	* window level is wrong
	* abandon variant reader/writer
	avoid the swap fiasco
	define general volume class
	combine / specialize as above
	change name of invert

------------------------------------------------------------

PLAN

extend image stuff to class tree??

start with volumes:

volume.hh
volume-defs.hh
volume.cc

coercer
add-volumes
