Encoding algorithm¶
JVol files are encoded using a simplified version of the JPEG algorithm, adapted for 3D images.
Color¶
For now, only single-channel images are supported. Therefore, no color space conversion or chroma subsampling is performed.
Block splitting¶
The array/volume of size $I \times J \times K$ is split into subvolumes/blocks of size $B \times B \times B$.
If the array is not a multiple of $B$ along a dimension, it is padded using NumPy's reflect
mode.
Here's an exaggerated illustration of reflection padding (in 2D, for visualization purposes):
Discrete cosine transform¶
TODO
Quantization¶
TODO
Entropy coding¶
TODO