TODO * convert I/O to use buffered routines * let read and write work on strips, not just entire channels (strip size computed from available memory)