	-- Generic FITS reading:
	    OK non-square pixels
	    * multi-dimensional images (plane=n1[,n2...])
	      (or 0,[0...] as default)
	    OK transfer matrices (if no CDELT keys)
	    * Automatic detection of VARIANCE, NOISE, RMS images
	    * Automatic units...
	    .. Extra projection keys (poles etc.)
	-- Redo parallel operations using ParallelOp...
	-- Add large dataset section to README
?2.02	-- prevent double validation of subscans/scans (undo scuba2 check)
	   reading to clear validation state
2.02+	-- Better map units (baseUnit, isBeamNormalized?)
	-- source.whiten?
	-- check double filtering
!	-- power of 2 time resolutions for all to avoid awkward boundaries.
!	-- sort out tau for SHARC-2	
2.02	-- sort out main image header edits by instrument...
2.02+	-- 'gains.span' + 'weighting.span' = scan | subscan
	-- 'aperture' for aperture conversion/scaling
	-- channel.dataIndex --> channel.getID()?
	-- private Scan.serialNo (use getID())
	-- faint.cfg's [extended] reenable some forgotten modalities.
	-- re-check accel-mag (before array) on instruments (sharc2/apex/gismo)
	-- Do not add pixels to instruments on initialization.
	   Add these only when reading scans!
	-- Scan horizontal coordinates only for GroundBased 
	   (getHorizontal(), setHorizontal(coords))
	-- highpass filtering to hp signals too...
	   should do something about whitening also??
	-- Shadow scans
		* Scan.shadow, CRUSH.shadowSource?
		* call shadow operations on all signal estimation/removal.
		* console output on shadows?
		* write shadow scans
		* options:
			shadow
			shadow.sources	(default catalog 1Jy, point)
	-- Scan.parallelization
	   -- load management...
		size=frames*channels
		Navailable = Ncp * remainingSize / totalSize 	
		Npossible = remainingsize / size
		parallel = round|floor ? (Navailable / Npossible)
	-- Parallelization classes
	   crush.parallel
	   (use max threads by default, or limit by constructor)
		ParallelOp<Type> (common abstract class)
			threads, queue, execute()
		ParallelFrameOp	
			blocksize, process(Frame[] frames)
		ParallelChannelOp
			channels, process(Channel)
	   	ParallelChannelGroupOp		
			groups, process(ChannelGroup)
	-- Annuli, Polygon, and Point regions
	-- More debug (CRUSH.debug) 
		--> give traces for all exceptions
		--> Remove ? from NaN checks?
	-- Merge util with xcrush and update to it...
	-- Common TextFileParser (and TextTableParser?)...
	-- RMI (client/server) mode...
		-- InfoMessage, WarningMessage, ErrorMessage (with stubs)
		-- ScanSet (for fixed threads)
		-- Node/Job Manager
		-- node.readScan(), or node.addScan()
		-- Service discovery via UDP
		-- node.merge(SourceModel)
	-- parallelization
		-- drifts
		-- decorrelate
		-- gains
		-- weighting (all)
		-- despike
		-- filter
		-- reading/validation
	-- Orientable corrections (e.g. single scan rows...)
		-- Multimode analysis
		   (choose the highest mode with a certain power
		   fraction of the zero mode)
		-- mean rotation span from weighted center
	.. Documentation.
	.. tcsh does not like [], add note to README
	-- regrid flux (slightly high) noise (way too low).
	.. pointing support
	.. logging support
	.. Chopped reductions
		-- Photometric mode. Think this one through...
	.. Update 'extended' mode configuration
	.. Reorganize options keys (hierarchical)
	.. Optimize reductions...
	.. Documentation
		.. What's new (minicrush and crush versions)


