pub struct ConvertReader<'a, T> { /* private fields */ }Expand description
Auto-conversion wrapper returned by Reader::convert.
A reader wrapper that auto-converts all voxel data to type T.
Created via Reader::convert.
Implementations§
Source§impl<'a, T> ConvertReader<'a, T>
impl<'a, T> ConvertReader<'a, T>
Sourcepub fn slices(
&self,
) -> Box<dyn Iterator<Item = Result<VoxelBlock<T>, Error>> + '_>
pub fn slices( &self, ) -> Box<dyn Iterator<Item = Result<VoxelBlock<T>, Error>> + '_>
Iterate over Z-slices, auto-converting each to T.
Sourcepub fn slabs(
&self,
k: usize,
) -> Box<dyn Iterator<Item = Result<VoxelBlock<T>, Error>> + '_>
pub fn slabs( &self, k: usize, ) -> Box<dyn Iterator<Item = Result<VoxelBlock<T>, Error>> + '_>
Iterate over slabs of k Z-planes, auto-converting each to T.
Sourcepub fn tiles(
&self,
tile_shape: [usize; 3],
) -> Result<Box<dyn Iterator<Item = Result<VoxelBlock<T>, Error>> + '_>, Error>
pub fn tiles( &self, tile_shape: [usize; 3], ) -> Result<Box<dyn Iterator<Item = Result<VoxelBlock<T>, Error>> + '_>, Error>
Iterate over 3D tiles of the given shape, auto-converting each to T.
Sourcepub fn volumes(
&self,
) -> Result<Box<dyn Iterator<Item = Result<VoxelBlock<T>, Error>> + '_>, Error>
pub fn volumes( &self, ) -> Result<Box<dyn Iterator<Item = Result<VoxelBlock<T>, Error>> + '_>, Error>
Iterate over sub-volumes in a volume stack, auto-converting each to T.
Each sub-volume has shape [nx, ny, mz]. Returns
Error::NotAVolumeStack if the file is not a volume stack.
§Examples
let reader = mrc::Reader::open("stack.mrc")?;
for vol in reader.convert::<f32>().volumes()? {
let block = vol?;
println!("Sub-volume at z={} has {} voxels", block.offset[2], block.data.len());
}Sourcepub fn subregion(
&self,
offset: [usize; 3],
block_shape: [usize; 3],
) -> Result<VoxelBlock<T>, Error>
pub fn subregion( &self, offset: [usize; 3], block_shape: [usize; 3], ) -> Result<VoxelBlock<T>, Error>
Read a single sub-region at offset with block_shape, auto-converting to T.
Sourcepub fn with_complex_strategy(self, strategy: ComplexToRealStrategy) -> Self
pub fn with_complex_strategy(self, strategy: ComplexToRealStrategy) -> Self
Configure how complex modes (3, 4) are reduced to real values.
Sourcepub fn with_m0_interpretation(self, interp: M0Interpretation) -> Self
pub fn with_m0_interpretation(self, interp: M0Interpretation) -> Self
Configure how Mode 0 (Int8) is interpreted (signed or unsigned).
Sourcepub fn read_volume(&self) -> Result<VoxelBlock<T>, Error>
pub fn read_volume(&self) -> Result<VoxelBlock<T>, Error>
Read the entire volume as a single block, auto-converting to T.
Auto Trait Implementations§
impl<'a, T> Freeze for ConvertReader<'a, T>
impl<'a, T> RefUnwindSafe for ConvertReader<'a, T>where
T: RefUnwindSafe,
impl<'a, T> Send for ConvertReader<'a, T>where
T: Send,
impl<'a, T> Sync for ConvertReader<'a, T>where
T: Sync,
impl<'a, T> Unpin for ConvertReader<'a, T>where
T: Unpin,
impl<'a, T> UnsafeUnpin for ConvertReader<'a, T>
impl<'a, T> UnwindSafe for ConvertReader<'a, T>where
T: 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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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>
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>
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