dicom_core::dictionary

Enum VirtualVr

Source
#[non_exhaustive]
pub enum VirtualVr { Exact(VR), Xs, Ox, Px, Lt, }
Expand description

A “virtual” value representation (VR) descriptor which extends the standard enumeration with context-dependent VRs.

It is used by element dictionary entries to describe circumstances in which the real VR may depend on context. As an example, the Pixel Data attribute can have a value representation of either OB or OW.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

Exact(VR)

The value representation is exactly known and does not depend on context.

§

Xs

Represents a pixel data sample value with a short magnitude.

The value representation depends on the pixel data value sample representation. If pixel data values are signed (represented by a Pixel Representation value of 1), then values with this virtual VR should be interpreted as signed 16 bit integers (SS), otherwise they should be interpreted as unsigned 16 bit integers (US).

§

Ox

Represents overlay data sample values.

It can be either OB or OW.

§

Px

Represents pixel data sample value.

It can be either OB or OW.

§

Lt

Represents LUT data, which can be US or OW

Implementations§

Source§

impl VirtualVr

Source

pub fn exact(self) -> Option<VR>

Return the underlying value representation in the case that it can be unambiguously defined without context.

Source

pub fn relaxed(self) -> VR

Return the underlying value representation, making a relaxed conversion if it cannot be accurately resolved without context.

  • Xs is relaxed to US
  • Ox is relaxed to OW
  • Px is relaxed to OW
  • Lt is relaxed to OW

This method is ill-advised for uses where the corresponding attribute is important.

Trait Implementations§

Source§

impl Clone for VirtualVr

Source§

fn clone(&self) -> VirtualVr

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for VirtualVr

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl From<VR> for VirtualVr

Source§

fn from(value: VR) -> Self

Converts to this type from the input type.
Source§

impl Hash for VirtualVr

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl PartialEq for VirtualVr

Source§

fn eq(&self, other: &VirtualVr) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for VirtualVr

Source§

impl Eq for VirtualVr

Source§

impl StructuralPartialEq for VirtualVr

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.