pub trait DataElement: 'static + Sized + Copy {
    type DataRescaler: NiftiDataRescaler<Self>;

    const DATA_TYPE: NiftiType;
Show 15 methods // Required methods fn from_raw<R, E>(src: R, endianness: E) -> Result<Self> where R: Read, E: Endian; fn from_raw_vec_validated<E>( vec: Vec<u8>, endianness: E, datatype: NiftiType ) -> Result<Vec<Self>> where E: Endian; // Provided methods fn from_u8(_value: u8) -> Self { ... } fn from_i8(_value: i8) -> Self { ... } fn from_u16(_value: u16) -> Self { ... } fn from_i16(_value: i16) -> Self { ... } fn from_u32(_value: u32) -> Self { ... } fn from_i32(_value: i32) -> Self { ... } fn from_u64(_value: u64) -> Self { ... } fn from_i64(_value: i64) -> Self { ... } fn from_f32(_value: f32) -> Self { ... } fn from_f64(_value: f64) -> Self { ... } fn from_complex32(_value: Complex32) -> Self { ... } fn from_complex64(_value: Complex64) -> Self { ... } fn from_raw_vec<E>(vec: Vec<u8>, endianness: E) -> Result<Vec<Self>> where E: Endian + Clone { ... }
}
Expand description

Trait type for characterizing a NIfTI data element, implemented for primitive numeric types which are used by the crate to represent voxel values.

Required Associated Types§

source

type DataRescaler: NiftiDataRescaler<Self>

Implement rescaling for the given data type

Required Associated Constants§

source

const DATA_TYPE: NiftiType

The datatype mapped to the type T

Required Methods§

source

fn from_raw<R, E>(src: R, endianness: E) -> Result<Self>where R: Read, E: Endian,

Read a single element from the given byte source.

source

fn from_raw_vec_validated<E>( vec: Vec<u8>, endianness: E, datatype: NiftiType ) -> Result<Vec<Self>>where E: Endian,

Return a vector of data elements of the native type indicated in the Nifti file with runtime check

Provided Methods§

source

fn from_u8(_value: u8) -> Self

Create a single element by converting a scalar value.

source

fn from_i8(_value: i8) -> Self

Create a single element by converting a scalar value.

source

fn from_u16(_value: u16) -> Self

Create a single element by converting a scalar value.

source

fn from_i16(_value: i16) -> Self

Create a single element by converting a scalar value.

source

fn from_u32(_value: u32) -> Self

Create a single element by converting a scalar value.

source

fn from_i32(_value: i32) -> Self

Create a single element by converting a scalar value.

source

fn from_u64(_value: u64) -> Self

Create a single element by converting a scalar value.

source

fn from_i64(_value: i64) -> Self

Create a single element by converting a scalar value.

source

fn from_f32(_value: f32) -> Self

Create a single element by converting a scalar value.

source

fn from_f64(_value: f64) -> Self

Create a single element by converting a scalar value.

source

fn from_complex32(_value: Complex32) -> Self

Create a single element by converting a complex value

source

fn from_complex64(_value: Complex64) -> Self

Create a single element by converting a complex value

source

fn from_raw_vec<E>(vec: Vec<u8>, endianness: E) -> Result<Vec<Self>>where E: Endian + Clone,

Transform the given data vector into a vector of data elements.

Implementations on Foreign Types§

source§

impl DataElement for RGB8

source§

const DATA_TYPE: NiftiType = NiftiType::Rgb24

§

type DataRescaler = DataRescaler

source§

fn from_raw_vec<E>(vec: Vec<u8>, e: E) -> Result<Vec<Self>>where E: Endian,

source§

fn from_raw_vec_validated<E>( vec: Vec<u8>, endianness: E, datatype: NiftiType ) -> Result<Vec<Self>>where E: Endian,

source§

fn from_raw<R, E>(src: R, _: E) -> Result<Self>where R: Read, E: Endian,

source§

impl DataElement for RGBA8

source§

const DATA_TYPE: NiftiType = NiftiType::Rgba32

§

type DataRescaler = DataRescaler

source§

fn from_raw_vec<E>(vec: Vec<u8>, e: E) -> Result<Vec<Self>>where E: Endian,

source§

fn from_raw_vec_validated<E>( vec: Vec<u8>, endianness: E, datatype: NiftiType ) -> Result<Vec<Self>>where E: Endian,

source§

fn from_raw<R, E>(src: R, _: E) -> Result<Self>where R: Read, E: Endian,

source§

impl DataElement for Complex32

source§

const DATA_TYPE: NiftiType = NiftiType::Complex64

§

type DataRescaler = DataRescaler

source§

fn from_raw_vec<E>(vec: Vec<u8>, e: E) -> Result<Vec<Self>>where E: Endian,

source§

fn from_raw_vec_validated<E>( vec: Vec<u8>, endianness: E, datatype: NiftiType ) -> Result<Vec<Self>>where E: Endian,

source§

fn from_raw<R, E>(src: R, e: E) -> Result<Self>where R: Read, E: Endian,

source§

fn from_u8(value: u8) -> Self

source§

fn from_i8(value: i8) -> Self

source§

fn from_u16(value: u16) -> Self

source§

fn from_i16(value: i16) -> Self

source§

fn from_u32(value: u32) -> Self

source§

fn from_i32(value: i32) -> Self

source§

fn from_u64(value: u64) -> Self

source§

fn from_i64(value: i64) -> Self

source§

fn from_f32(value: f32) -> Self

source§

fn from_f64(value: f64) -> Self

source§

fn from_complex32(value: Complex32) -> Self

source§

fn from_complex64(value: Complex64) -> Self

source§

impl DataElement for u8

source§

const DATA_TYPE: NiftiType = NiftiType::Uint8

§

type DataRescaler = DataRescaler

source§

fn from_raw_vec<E>(vec: Vec<u8>, _: E) -> Result<Vec<Self>>where E: Endian,

source§

fn from_raw_vec_validated<E>( vec: Vec<u8>, endianness: E, datatype: NiftiType ) -> Result<Vec<Self>>where E: Endian,

source§

fn from_raw<R, E>(src: R, _: E) -> Result<Self>where R: Read, E: Endian,

source§

fn from_u8(value: u8) -> Self

source§

fn from_i8(value: i8) -> Self

source§

fn from_u16(value: u16) -> Self

source§

fn from_i16(value: i16) -> Self

source§

fn from_u32(value: u32) -> Self

source§

fn from_i32(value: i32) -> Self

source§

fn from_u64(value: u64) -> Self

source§

fn from_i64(value: i64) -> Self

source§

fn from_f32(value: f32) -> Self

source§

fn from_f64(value: f64) -> Self

source§

impl DataElement for i8

source§

const DATA_TYPE: NiftiType = NiftiType::Int8

§

type DataRescaler = DataRescaler

source§

fn from_raw_vec<E>(vec: Vec<u8>, _: E) -> Result<Vec<Self>>where E: Endian,

source§

fn from_raw_vec_validated<E>( vec: Vec<u8>, endianness: E, datatype: NiftiType ) -> Result<Vec<Self>>where E: Endian,

source§

fn from_raw<R, E>(src: R, _: E) -> Result<Self>where R: Read, E: Endian,

source§

fn from_u8(value: u8) -> Self

source§

fn from_i8(value: i8) -> Self

source§

fn from_u16(value: u16) -> Self

source§

fn from_i16(value: i16) -> Self

source§

fn from_u32(value: u32) -> Self

source§

fn from_i32(value: i32) -> Self

source§

fn from_u64(value: u64) -> Self

source§

fn from_i64(value: i64) -> Self

source§

fn from_f32(value: f32) -> Self

source§

fn from_f64(value: f64) -> Self

source§

impl DataElement for Complex64

source§

const DATA_TYPE: NiftiType = NiftiType::Complex128

§

type DataRescaler = DataRescaler

source§

fn from_raw_vec<E>(vec: Vec<u8>, e: E) -> Result<Vec<Self>>where E: Endian,

source§

fn from_raw_vec_validated<E>( vec: Vec<u8>, endianness: E, datatype: NiftiType ) -> Result<Vec<Self>>where E: Endian,

source§

fn from_raw<R, E>(src: R, e: E) -> Result<Self>where R: Read, E: Endian,

source§

fn from_u8(value: u8) -> Self

source§

fn from_i8(value: i8) -> Self

source§

fn from_u16(value: u16) -> Self

source§

fn from_i16(value: i16) -> Self

source§

fn from_u32(value: u32) -> Self

source§

fn from_i32(value: i32) -> Self

source§

fn from_u64(value: u64) -> Self

source§

fn from_i64(value: i64) -> Self

source§

fn from_f32(value: f32) -> Self

source§

fn from_f64(value: f64) -> Self

source§

fn from_complex32(value: Complex32) -> Self

source§

fn from_complex64(value: Complex64) -> Self

source§

impl DataElement for i64

source§

const DATA_TYPE: NiftiType = NiftiType::Int64

§

type DataRescaler = DataRescaler

source§

fn from_raw_vec<E>(vec: Vec<u8>, e: E) -> Result<Vec<Self>>where E: Endian,

source§

fn from_raw_vec_validated<E>( vec: Vec<u8>, endianness: E, datatype: NiftiType ) -> Result<Vec<Self>>where E: Endian,

source§

fn from_raw<R, E>(src: R, e: E) -> Result<Self>where R: Read, E: Endian,

source§

fn from_u8(value: u8) -> Self

source§

fn from_i8(value: i8) -> Self

source§

fn from_u16(value: u16) -> Self

source§

fn from_i16(value: i16) -> Self

source§

fn from_u32(value: u32) -> Self

source§

fn from_i32(value: i32) -> Self

source§

fn from_u64(value: u64) -> Self

source§

fn from_i64(value: i64) -> Self

source§

fn from_f32(value: f32) -> Self

source§

fn from_f64(value: f64) -> Self

source§

impl DataElement for i16

source§

const DATA_TYPE: NiftiType = NiftiType::Int16

§

type DataRescaler = DataRescaler

source§

fn from_raw_vec<E>(vec: Vec<u8>, e: E) -> Result<Vec<Self>>where E: Endian,

source§

fn from_raw_vec_validated<E>( vec: Vec<u8>, endianness: E, datatype: NiftiType ) -> Result<Vec<Self>>where E: Endian,

source§

fn from_raw<R, E>(src: R, e: E) -> Result<Self>where R: Read, E: Endian,

source§

fn from_u8(value: u8) -> Self

source§

fn from_i8(value: i8) -> Self

source§

fn from_u16(value: u16) -> Self

source§

fn from_i16(value: i16) -> Self

source§

fn from_u32(value: u32) -> Self

source§

fn from_i32(value: i32) -> Self

source§

fn from_u64(value: u64) -> Self

source§

fn from_i64(value: i64) -> Self

source§

fn from_f32(value: f32) -> Self

source§

fn from_f64(value: f64) -> Self

source§

impl DataElement for f32

source§

const DATA_TYPE: NiftiType = NiftiType::Float32

§

type DataRescaler = DataRescaler

source§

fn from_raw_vec<E>(vec: Vec<u8>, e: E) -> Result<Vec<Self>>where E: Endian,

source§

fn from_raw_vec_validated<E>( vec: Vec<u8>, endianness: E, datatype: NiftiType ) -> Result<Vec<Self>>where E: Endian,

source§

fn from_raw<R, E>(src: R, e: E) -> Result<Self>where R: Read, E: Endian,

source§

fn from_u8(value: u8) -> Self

source§

fn from_i8(value: i8) -> Self

source§

fn from_u16(value: u16) -> Self

source§

fn from_i16(value: i16) -> Self

source§

fn from_u32(value: u32) -> Self

source§

fn from_i32(value: i32) -> Self

source§

fn from_u64(value: u64) -> Self

source§

fn from_i64(value: i64) -> Self

source§

fn from_f32(value: f32) -> Self

source§

fn from_f64(value: f64) -> Self

source§

impl DataElement for u64

source§

const DATA_TYPE: NiftiType = NiftiType::Uint64

§

type DataRescaler = DataRescaler

source§

fn from_raw_vec<E>(vec: Vec<u8>, e: E) -> Result<Vec<Self>>where E: Endian,

source§

fn from_raw_vec_validated<E>( vec: Vec<u8>, endianness: E, datatype: NiftiType ) -> Result<Vec<Self>>where E: Endian,

source§

fn from_raw<R, E>(src: R, e: E) -> Result<Self>where R: Read, E: Endian,

source§

fn from_u8(value: u8) -> Self

source§

fn from_i8(value: i8) -> Self

source§

fn from_u16(value: u16) -> Self

source§

fn from_i16(value: i16) -> Self

source§

fn from_u32(value: u32) -> Self

source§

fn from_i32(value: i32) -> Self

source§

fn from_u64(value: u64) -> Self

source§

fn from_i64(value: i64) -> Self

source§

fn from_f32(value: f32) -> Self

source§

fn from_f64(value: f64) -> Self

source§

impl DataElement for f64

source§

const DATA_TYPE: NiftiType = NiftiType::Float64

§

type DataRescaler = DataRescaler

source§

fn from_raw_vec<E>(vec: Vec<u8>, e: E) -> Result<Vec<Self>>where E: Endian,

source§

fn from_raw_vec_validated<E>( vec: Vec<u8>, endianness: E, datatype: NiftiType ) -> Result<Vec<Self>>where E: Endian,

source§

fn from_raw<R, E>(src: R, e: E) -> Result<Self>where R: Read, E: Endian,

source§

fn from_u8(value: u8) -> Self

source§

fn from_i8(value: i8) -> Self

source§

fn from_u16(value: u16) -> Self

source§

fn from_i16(value: i16) -> Self

source§

fn from_u32(value: u32) -> Self

source§

fn from_i32(value: i32) -> Self

source§

fn from_u64(value: u64) -> Self

source§

fn from_i64(value: i64) -> Self

source§

fn from_f32(value: f32) -> Self

source§

fn from_f64(value: f64) -> Self

source§

impl DataElement for u32

source§

const DATA_TYPE: NiftiType = NiftiType::Uint32

§

type DataRescaler = DataRescaler

source§

fn from_raw_vec<E>(vec: Vec<u8>, e: E) -> Result<Vec<Self>>where E: Endian,

source§

fn from_raw_vec_validated<E>( vec: Vec<u8>, endianness: E, datatype: NiftiType ) -> Result<Vec<Self>>where E: Endian,

source§

fn from_raw<R, E>(src: R, e: E) -> Result<Self>where R: Read, E: Endian,

source§

fn from_u8(value: u8) -> Self

source§

fn from_i8(value: i8) -> Self

source§

fn from_u16(value: u16) -> Self

source§

fn from_i16(value: i16) -> Self

source§

fn from_u32(value: u32) -> Self

source§

fn from_i32(value: i32) -> Self

source§

fn from_u64(value: u64) -> Self

source§

fn from_i64(value: i64) -> Self

source§

fn from_f32(value: f32) -> Self

source§

fn from_f64(value: f64) -> Self

source§

impl DataElement for u16

source§

const DATA_TYPE: NiftiType = NiftiType::Uint16

§

type DataRescaler = DataRescaler

source§

fn from_raw_vec<E>(vec: Vec<u8>, e: E) -> Result<Vec<Self>>where E: Endian,

source§

fn from_raw_vec_validated<E>( vec: Vec<u8>, endianness: E, datatype: NiftiType ) -> Result<Vec<Self>>where E: Endian,

source§

fn from_raw<R, E>(src: R, e: E) -> Result<Self>where R: Read, E: Endian,

source§

fn from_u8(value: u8) -> Self

source§

fn from_i8(value: i8) -> Self

source§

fn from_u16(value: u16) -> Self

source§

fn from_i16(value: i16) -> Self

source§

fn from_u32(value: u32) -> Self

source§

fn from_i32(value: i32) -> Self

source§

fn from_u64(value: u64) -> Self

source§

fn from_i64(value: i64) -> Self

source§

fn from_f32(value: f32) -> Self

source§

fn from_f64(value: f64) -> Self

source§

impl DataElement for i32

source§

const DATA_TYPE: NiftiType = NiftiType::Int32

§

type DataRescaler = DataRescaler

source§

fn from_raw_vec<E>(vec: Vec<u8>, e: E) -> Result<Vec<Self>>where E: Endian,

source§

fn from_raw_vec_validated<E>( vec: Vec<u8>, endianness: E, datatype: NiftiType ) -> Result<Vec<Self>>where E: Endian,

source§

fn from_raw<R, E>(src: R, e: E) -> Result<Self>where R: Read, E: Endian,

source§

fn from_u8(value: u8) -> Self

source§

fn from_i8(value: i8) -> Self

source§

fn from_u16(value: u16) -> Self

source§

fn from_i16(value: i16) -> Self

source§

fn from_u32(value: u32) -> Self

source§

fn from_i32(value: i32) -> Self

source§

fn from_u64(value: u64) -> Self

source§

fn from_i64(value: i64) -> Self

source§

fn from_f32(value: f32) -> Self

source§

fn from_f64(value: f64) -> Self

Implementors§