问题
From this list of examples, it seems that Kakadu is able to compress volumetric images along the z-direction by leveraging the multi-component transform (Part 2) of the JPEG 2000 standard.
Specifically example (Aj). I tested it, it seems to work.
I tried to modify the example above for an image of 1024 x 1024 x 128 pixels, I want to group slices in batches of 32 (or 64) and do a full DWT on the individual batches, but I fail.
This is what I tried:
kdu_compress -i img.rawl\*128@2097152 -o img.jpx -jpx_layers \* \
-jpx_space sLUM Creversible=yes Sdims="{1024,1024}" Clayers=4 \
Mcomponents=32 Nsigned=no Nprecision=12 \
Sprecision=12,12,12,12,12,13 Ssigned=no,no,no,no,no,yes \
Mvector_size:I4=32 Mvector_coeffs:I4=32 \
Mstage_inputs:I25="{0,31}" Mstage_outputs:I25="{0,31}" \
Mstage_collections:I25="{32,32}" \
Mstage_xforms:I25="{DWT,1,4,3,0}" \
Mnum_stages=1 Mstages=25
It fails with this error message:
Kakadu Core Error:
Multi-component transform does not satisfy the constraints imposed by Part 2 of
the JPEG2000 standard. The first transform stage must touch every codestream
image component (no more and no less), while subsequent stages must touch every
component produced by the previous stage.
What am I doing wrong? What's the fix?
来源:https://stackoverflow.com/questions/60633505/kakadu-multi-component-transforms-on-volumetric-images