incorporate gering fixes
more variants for volume display
figure out how to handle display of thin slabs


fix constructor usage everywhere

fix the decimators.  look for other readers, writers, or constructors



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
