pub struct Image<'a> { /* private fields */ }Expand description
A JPEG2000 image or codestream.
Implementations§
Source§impl<'a> Image<'a>
impl<'a> Image<'a>
Sourcepub fn new(data: &'a [u8], settings: &DecodeSettings) -> Result<Self>
pub fn new(data: &'a [u8], settings: &DecodeSettings) -> Result<Self>
Try to create a new JPEG2000 image from the given data.
Sourcepub fn color_space(&self) -> &ColorSpace
pub fn color_space(&self) -> &ColorSpace
The color space of the image.
Sourcepub fn original_bit_depth(&self) -> u8
pub fn original_bit_depth(&self) -> u8
The original bit depth of the image. You usually don’t need to do anything with this parameter, it just exists for informational purposes.
Sourcepub fn decode(&self) -> Result<Vec<u8>>
pub fn decode(&self) -> Result<Vec<u8>>
Decode the image and return its decoded result as a Vec<u8>, with each
channel interleaved.
Sourcepub fn decode_native(&self) -> Result<RawBitmap>
pub fn decode_native(&self) -> Result<RawBitmap>
Decode the image at native bit depth without scaling to 8-bit.
For images with bit depth ≤ 8, returns pixel data as Vec<u8>.
For images with bit depth > 8 (e.g., 12-bit or 16-bit), returns
pixel data as little-endian u16 values packed into Vec<u8>.
This is essential for medical imaging (DICOM) where 12-bit and 16-bit images must preserve their full dynamic range.
Sourcepub fn decode_into(
&'a self,
buf: &mut [u8],
decoder_context: &mut DecoderContext<'a>,
) -> Result<()>
pub fn decode_into( &'a self, buf: &mut [u8], decoder_context: &mut DecoderContext<'a>, ) -> Result<()>
Decode the image into the given buffer.
This method does the same as Image::decode, but you can provide
a custom buffer for the output, as well as a decoder context. Doing
so will allow dicom-toolkit-jpeg2000 to reuse memory allocations, so this is
especially recommended if you plan on converting multiple images
in the same session.
The buffer must have the correct size.