pub struct AdaptiveVRLittleEndianDecoder<D> { /* private fields */ }Expand description
A data element decoder for Little Endian data that auto-detects whether the dataset uses explicit or implicit VR encoding.
This is intended for non-conformant files that declare Explicit VR LE in the transfer syntax but actually contain Implicit VR data. On the first non-meta element, the decoder probes the two bytes following the tag: if they form a recognized VR code, it proceeds as explicit VR; otherwise it falls back to implicit VR.
Implementations§
Source§impl AdaptiveVRLittleEndianDecoder<StandardDataDictionary>
impl AdaptiveVRLittleEndianDecoder<StandardDataDictionary>
Sourcepub fn with_std_dict() -> Self
pub fn with_std_dict() -> Self
Retrieve this decoder using the standard data dictionary.
Source§impl<D> AdaptiveVRLittleEndianDecoder<D>where
D: DataDictionary,
impl<D> AdaptiveVRLittleEndianDecoder<D>where
D: DataDictionary,
Trait Implementations§
Source§impl<D> Debug for AdaptiveVRLittleEndianDecoder<D>
impl<D> Debug for AdaptiveVRLittleEndianDecoder<D>
Source§impl<D> Decode for AdaptiveVRLittleEndianDecoder<D>where
D: DataDictionary,
impl<D> Decode for AdaptiveVRLittleEndianDecoder<D>where
D: DataDictionary,
Source§fn decode_header<S>(&self, source: &mut S) -> Result<(DataElementHeader, usize)>
fn decode_header<S>(&self, source: &mut S) -> Result<(DataElementHeader, usize)>
Fetch and decode the next data element header from the given source.
This method returns only the header of the element. At the end of this operation, the source
will be pointing at the element’s value data, which should be read or skipped as necessary. Read more
Source§fn decode_item_header<S>(&self, source: &mut S) -> Result<SequenceItemHeader>
fn decode_item_header<S>(&self, source: &mut S) -> Result<SequenceItemHeader>
Fetch and decode the next sequence item head from the given source. It is a separate method
because value representation is always implicit when reading item headers and delimiters.
This method returns only the header of the item. At the end of this operation, the source
will be pointing at the beginning of the item’s data, which should be traversed if necessary.
Source§impl<S, D> DecodeFrom<S> for AdaptiveVRLittleEndianDecoder<D>
impl<S, D> DecodeFrom<S> for AdaptiveVRLittleEndianDecoder<D>
Source§fn decode_header(&self, source: &mut S) -> Result<(DataElementHeader, usize)>
fn decode_header(&self, source: &mut S) -> Result<(DataElementHeader, usize)>
Fetch and decode the next data element header from the given source.
This method returns only the header of the element. At the end of this operation, the source
will be pointing at the element’s value data, which should be read or skipped as necessary. Read more
Source§fn decode_item_header(&self, source: &mut S) -> Result<SequenceItemHeader>
fn decode_item_header(&self, source: &mut S) -> Result<SequenceItemHeader>
Fetch and decode the next sequence item head from the given source. It is a separate method
because value representation is always implicit when reading item headers and delimiters.
This method returns only the header of the item. At the end of this operation, the source
will be pointing at the beginning of the item’s data, which should be traversed if necessary.
Auto Trait Implementations§
impl<D> !Freeze for AdaptiveVRLittleEndianDecoder<D>
impl<D> !RefUnwindSafe for AdaptiveVRLittleEndianDecoder<D>
impl<D> !Sync for AdaptiveVRLittleEndianDecoder<D>
impl<D> Send for AdaptiveVRLittleEndianDecoder<D>where
D: Send,
impl<D> Unpin for AdaptiveVRLittleEndianDecoder<D>where
D: Unpin,
impl<D> UnsafeUnpin for AdaptiveVRLittleEndianDecoder<D>where
D: UnsafeUnpin,
impl<D> UnwindSafe for AdaptiveVRLittleEndianDecoder<D>where
D: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more