Skip to main content

WindowLevel

Struct WindowLevel 

Source
pub struct WindowLevel {
    pub center: f64,
    pub width: f64,
}
Expand description

DICOM window/level parameters.

  • center — the value that maps to the midpoint of the output range.
  • width — the full span of input values that map to the full output range.

A width of zero is not meaningful; the caller should ensure width > 0.

Fields§

§center: f64

Window centre (level).

§width: f64

Window width.

Implementations§

Source§

impl WindowLevel

Source

pub fn new(center: f64, width: f64) -> Self

Create from center and width.

§Panics (debug only)

Panics in debug builds if width <= 0.

Source

pub fn apply(&self, value: f64, out_min: f64, out_max: f64) -> f64

Apply the DICOM linear mapping and return a value in [out_min, out_max].

out_min and out_max are typically 0.0 and 1.0 for GPU normalisation, or 0.0 and 255.0 for 8-bit display.

Source

pub fn normalise(&self, value: f64) -> f64

Normalise value to [0, 1] using the window mapping.

Source

pub fn denormalise(&self, t: f64) -> f64

Return the input value that maps to t ∈ [0, 1].

This is the inverse of WindowLevel::normalise.

Source

pub fn adjust_center(&mut self, delta: f64)

Adjust the center by delta (level change).

Source

pub fn adjust_width(&mut self, factor: f64)

Adjust the width by factor (window change, multiplicative).

The width is clamped to at least 1.0 to avoid division by zero.

Source

pub fn from_scalar_range(min: f64, max: f64) -> Self

Derive window/level from a scalar range.

Sets center to the midpoint and width to the full range (minimum 1.0).

Trait Implementations§

Source§

impl Clone for WindowLevel

Source§

fn clone(&self) -> WindowLevel

Returns a duplicate 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 WindowLevel

Source§

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

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

impl PartialEq for WindowLevel

Source§

fn eq(&self, other: &WindowLevel) -> 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 WindowLevel

Source§

impl StructuralPartialEq for WindowLevel

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, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> 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.