View on GitHub

sqeazy

A modern and modular high-bandwidth compression engine for on-the-microscope data reduction

Available Encoders or Sinks

A pipeline step we call a sink, generally refers to a processing step that transforms the stack in a way which changes the data type of the stack may also change the memory footprint of it so that the input stack cannot be represented by a euclidean cube anymore.

  pass_through	pass/copy content to next stage
     quantiser	scalar histogram-based quantisation for conversion uint16->uint8; <decode_lut_path>
              	: the lut will be taken from there (for decoding) or written there (for
              	encoding); <decode_lut_string> : decode LUT will be taken from the argument
              	value (for decoding) or written there (for encoding); <weighting_function>=(none,
              	power_of_<enumerator>_<denominator> : apply power-law pow(x,<enumerator>/<denominator>)
              	to histogram weights, offset_power_of_<enumerator>_<denominator> : apply
              	power-law pow(x,<enumerator>/<denominator>) to histogram weights starting
              	at first non-zero bin index) 
          hevc	hevc encode gray8 buffer with hevc, args can be anything that libavcodec
              	can understand, see ffmpeg -h encoder=hevc
          h264	h264 encode gray8 buffer with h264, args can be anything that libavcodec
              	can understand, e.g. h264(preset=ultrafast,qp=0) would match the ffmpeg
              	flags --preset=ultrafast --qp=0; see ffmpeg -h encoder=h264 for details.;if
              	the input data is of 16-bit type, it is quantized by a min_of_4 difference
              	scheme
           lz4	compress input with lz4, <accel|default = 1> improves compression speed
              	at the price of compression ratio

Available Filters

Filters do alter the content of a stack, but leave the data type and the geometric interpretation of the chunk of memory unchanged.

Before A Sink

             diff3x3x1	store difference to mean of neighboring items
              bitswap1	rewrite bitplanes of item as chunks of buffer, use <num_bits_per_plane|default
                      	= 1> to control how many bits each plane has
     remove_background	set all items to 0 that are below <threshold>, reduce any other item by
                      	threshold
  rmbkrd_neighbor5x5x5	shot noise removal scheme, if <faction|default = 50%> of pixels in neighborhood
                      	(default: 5x5x5) fall below <threshold|default = 1>, set pixel to 0
             rmestbkrd	estimate noise from darkest planes, remove median of that plane from all
                      	pixels/voxels
        raster_reorder	reorder the memory layout of the incoming buffer by linearizing virtual
                      	tiles, control the tile size by tile_size=<integer|default: 8>
          tile_shuffle	reorder the tiles in the incoming stack based on some defined metric; use
                      	tile_size=<integer|default: 32> to configure the shape of the tile to 
                      	xtract
         frame_shuffle	reorder the frames in the incoming stack based on some defined metric
        zcurve_reorder	reorder the memory layout of the incoming buffer using space filling z
                      	curves

After Sink

       diff3x3x1	store difference to mean of neighboring items
        bitswap1	rewrite bitplanes of item as chunks of buffer, use <num_bits_per_plane|default
                	= 1> to control how many bits each plane has
            h264	h264 encode gray8 buffer with h264, args can be anything that libavcodec
                	can understand, e.g. h264(preset=ultrafast,qp=0) would match the ffmpeg
                	flags --preset=ultrafast --qp=0; see ffmpeg -h encoder=h264 for details.;if
                	the input data is of 16-bit type, it is quantized by a min_of_4 difference
                	scheme
            hevc	hevc encode gray8 buffer with hevc, args can be anything that libavcodec
                	can understand, see ffmpeg -h encoder=hevc
             lz4	compress input with lz4, <accel|default = 1> improves compression speed
                	at the price of compression ratio
  raster_reorder	reorder the memory layout of the incoming buffer by linearizing virtual
                	tiles, control the tile size by tile_size=<integer|default: 16>
    tile_shuffle	reorder the tiles in the incoming stack based on some defined metric; use
                	tile_size=<integer|default: 32> to configure the shape of the tile to 
                	xtract
   frame_shuffle	reorder the frames in the incoming stack based on some defined metric
  zcurve_reorder	reorder the memory layout of the incoming buffer using space filling z
                	curves

Disclaimer

This page mostly consists of dump of the command line app. This page is subject to change in the future!