pub struct ImzMLReaderType<R: Read + Seek, S: Read + Seek, C: CentroidLike = CentroidPeak, D: DeconvolutedCentroidLike = DeconvolutedPeak> {
pub state: MzMLParserState,
pub spectrum_index: OffsetIndex,
pub chromatogram_index: Box<OffsetIndex>,
pub detail_level: DetailLevel,
pub run: MassSpectrometryRun,
pub imzml_metadata: ImzMLFileMetadata,
/* private fields */
}Fields§
§state: MzMLParserStateThe state the parser was in last.
spectrum_index: OffsetIndex§chromatogram_index: Box<OffsetIndex>§detail_level: DetailLevel§run: MassSpectrometryRun§imzml_metadata: ImzMLFileMetadataImplementations§
Source§impl<'a, 'b: 'a, R: Read + Seek, S: Read + Seek, C: CentroidLike + BuildFromArrayMap, D: DeconvolutedCentroidLike + BuildFromArrayMap> ImzMLReaderType<R, S, C, D>
impl<'a, 'b: 'a, R: Read + Seek, S: Read + Seek, C: CentroidLike + BuildFromArrayMap, D: DeconvolutedCentroidLike + BuildFromArrayMap> ImzMLReaderType<R, S, C, D>
Sourcepub fn new(file: R, ibd_file: S) -> ImzMLReaderType<R, S, C, D> ⓘ
pub fn new(file: R, ibd_file: S) -> ImzMLReaderType<R, S, C, D> ⓘ
Create a new ImzMLReaderType instance, wrapping the io::Read handle
provided with an io::BufReader and parses the metadata section of the file.
pub fn with_buffer_capacity_and_detail_level( file: R, ibd_file: S, capacity: usize, detail_level: DetailLevel, ) -> ImzMLReaderType<R, S, C, D> ⓘ
Sourcepub fn read_into(
&mut self,
spectrum: &mut MultiLayerSpectrum<C, D>,
) -> Result<usize, MzMLParserError>
pub fn read_into( &mut self, spectrum: &mut MultiLayerSpectrum<C, D>, ) -> Result<usize, MzMLParserError>
Populate a new [Spectrum] in-place on the next available spectrum data.
This allocates memory to build the spectrum’s attributes but then moves it
into spectrum rather than copying it.
Sourcepub fn read_next(&mut self) -> Option<MultiLayerSpectrum<C, D>>
pub fn read_next(&mut self) -> Option<MultiLayerSpectrum<C, D>>
Read the next spectrum directly. Used to implement iteration.
Sourcepub fn check_stream(&mut self, next_tag: &str) -> Result<bool, MzMLParserError>
pub fn check_stream(&mut self, next_tag: &str) -> Result<bool, MzMLParserError>
Check that the next XML tag on the stream matches next_tag and then restore the stream
position. This is used to sanity check random access jumps.
pub fn get_chromatogram_by_id(&mut self, id: &str) -> Option<Chromatogram>
pub fn get_chromatogram_by_index( &mut self, index: usize, ) -> Option<Chromatogram>
pub fn iter_chromatograms(&mut self) -> ChromatogramIter<'_, R, S, C, D> ⓘ
Source§impl<R: Read + Seek, S: Read + Seek, C: CentroidLike + BuildFromArrayMap, D: DeconvolutedCentroidLike + BuildFromArrayMap> ImzMLReaderType<R, S, C, D>
impl<R: Read + Seek, S: Read + Seek, C: CentroidLike + BuildFromArrayMap, D: DeconvolutedCentroidLike + BuildFromArrayMap> ImzMLReaderType<R, S, C, D>
Trait Implementations§
Source§impl<R: Read + Seek, S: Read + Seek, C: CentroidLike + BuildFromArrayMap, D: DeconvolutedCentroidLike + BuildFromArrayMap> ChromatogramSource for ImzMLReaderType<R, S, C, D>
impl<R: Read + Seek, S: Read + Seek, C: CentroidLike + BuildFromArrayMap, D: DeconvolutedCentroidLike + BuildFromArrayMap> ChromatogramSource for ImzMLReaderType<R, S, C, D>
Source§fn get_chromatogram_by_id(&mut self, id: &str) -> Option<Chromatogram>
fn get_chromatogram_by_id(&mut self, id: &str) -> Option<Chromatogram>
Chromatogram by its identifier, if it exists.Source§fn get_chromatogram_by_index(&mut self, index: usize) -> Option<Chromatogram>
fn get_chromatogram_by_index(&mut self, index: usize) -> Option<Chromatogram>
Chromatogram by its index, if it exists.Source§fn count_chromatograms(&self) -> usize
fn count_chromatograms(&self) -> usize
Source§fn iter_chromatograms(&mut self) -> ChromatogramIterator<'_, Self> ⓘwhere
Self: Sized,
fn iter_chromatograms(&mut self) -> ChromatogramIterator<'_, Self> ⓘwhere
Self: Sized,
Chromatograms with a ChromatogramIteratorSource§impl<R: Read + Seek, S: Read + Seek, C: CentroidLike + BuildFromArrayMap, D: DeconvolutedCentroidLike + BuildFromArrayMap> Iterator for ImzMLReaderType<R, S, C, D>
ImzMLReaderType instances are Iterators over MultiLayerSpectrum, like all
file format readers. This involves advancing the position of the internal imzML file
reader in-place without seeking.
impl<R: Read + Seek, S: Read + Seek, C: CentroidLike + BuildFromArrayMap, D: DeconvolutedCentroidLike + BuildFromArrayMap> Iterator for ImzMLReaderType<R, S, C, D>
ImzMLReaderType instances are Iterators over MultiLayerSpectrum, like all
file format readers. This involves advancing the position of the internal imzML file
reader in-place without seeking.
Source§type Item = MultiLayerSpectrum<C, D>
type Item = MultiLayerSpectrum<C, D>
Source§fn next(&mut self) -> Option<Self::Item>
fn next(&mut self) -> Option<Self::Item>
Source§fn next_chunk<const N: usize>(
&mut self,
) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>where
Self: Sized,
fn next_chunk<const N: usize>(
&mut self,
) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>where
Self: Sized,
iter_next_chunk)N values. Read more1.0.0 (const: unstable) · Source§fn size_hint(&self) -> (usize, Option<usize>)
fn size_hint(&self) -> (usize, Option<usize>)
1.0.0 (const: unstable) · Source§fn count(self) -> usizewhere
Self: Sized,
fn count(self) -> usizewhere
Self: Sized,
1.0.0 (const: unstable) · Source§fn last(self) -> Option<Self::Item>where
Self: Sized,
fn last(self) -> Option<Self::Item>where
Self: Sized,
Source§fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>
fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>
iter_advance_by)n elements. Read more1.0.0 (const: unstable) · Source§fn nth(&mut self, n: usize) -> Option<Self::Item>
fn nth(&mut self, n: usize) -> Option<Self::Item>
nth element of the iterator. Read more1.28.0 (const: unstable) · Source§fn step_by(self, step: usize) -> StepBy<Self> ⓘwhere
Self: Sized,
fn step_by(self, step: usize) -> StepBy<Self> ⓘwhere
Self: Sized,
1.0.0 (const: unstable) · Source§fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter> ⓘ
fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter> ⓘ
1.0.0 (const: unstable) · Source§fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter> ⓘwhere
Self: Sized,
U: IntoIterator,
fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter> ⓘwhere
Self: Sized,
U: IntoIterator,
Source§fn intersperse(self, separator: Self::Item) -> Intersperse<Self> ⓘ
fn intersperse(self, separator: Self::Item) -> Intersperse<Self> ⓘ
iter_intersperse)separator between items
of the original iterator. Read moreSource§fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G> ⓘ
fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G> ⓘ
iter_intersperse)separator
between items of the original iterator. Read more1.0.0 (const: unstable) · Source§fn map<B, F>(self, f: F) -> Map<Self, F> ⓘ
fn map<B, F>(self, f: F) -> Map<Self, F> ⓘ
1.21.0 (const: unstable) · Source§fn for_each<F>(self, f: F)
fn for_each<F>(self, f: F)
1.0.0 (const: unstable) · Source§fn filter<P>(self, predicate: P) -> Filter<Self, P> ⓘ
fn filter<P>(self, predicate: P) -> Filter<Self, P> ⓘ
1.0.0 (const: unstable) · Source§fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F> ⓘ
fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F> ⓘ
1.0.0 (const: unstable) · Source§fn enumerate(self) -> Enumerate<Self> ⓘwhere
Self: Sized,
fn enumerate(self) -> Enumerate<Self> ⓘwhere
Self: Sized,
1.0.0 (const: unstable) · Source§fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P> ⓘ
fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P> ⓘ
1.57.0 (const: unstable) · Source§fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P> ⓘ
fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P> ⓘ
1.0.0 (const: unstable) · Source§fn skip(self, n: usize) -> Skip<Self> ⓘwhere
Self: Sized,
fn skip(self, n: usize) -> Skip<Self> ⓘwhere
Self: Sized,
n elements. Read more1.0.0 (const: unstable) · Source§fn take(self, n: usize) -> Take<Self> ⓘwhere
Self: Sized,
fn take(self, n: usize) -> Take<Self> ⓘwhere
Self: Sized,
n elements, or fewer
if the underlying iterator ends sooner. Read more1.0.0 (const: unstable) · Source§fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F> ⓘ
fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F> ⓘ
1.0.0 (const: unstable) · Source§fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F> ⓘ
fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F> ⓘ
1.29.0 (const: unstable) · Source§fn flatten(self) -> Flatten<Self> ⓘ
fn flatten(self) -> Flatten<Self> ⓘ
Source§fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N> ⓘ
fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N> ⓘ
iter_map_windows)f for each contiguous window of size N over
self and returns an iterator over the outputs of f. Like slice::windows(),
the windows during mapping overlap as well. Read more1.0.0 (const: unstable) · Source§fn inspect<F>(self, f: F) -> Inspect<Self, F> ⓘ
fn inspect<F>(self, f: F) -> Inspect<Self, F> ⓘ
1.0.0 (const: unstable) · Source§fn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,
fn by_ref(&mut self) -> &mut Selfwhere
Self: Sized,
Iterator. Read more1.0.0 (const: unstable) · Source§fn collect<B>(self) -> B
fn collect<B>(self) -> B
Source§fn try_collect<B>(
&mut self,
) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
fn try_collect<B>( &mut self, ) -> <<Self::Item as Try>::Residual as Residual<B>>::TryType
iterator_try_collect)Source§fn collect_into<E>(self, collection: &mut E) -> &mut E
fn collect_into<E>(self, collection: &mut E) -> &mut E
iter_collect_into)1.0.0 (const: unstable) · Source§fn partition<B, F>(self, f: F) -> (B, B)
fn partition<B, F>(self, f: F) -> (B, B)
Source§fn is_partitioned<P>(self, predicate: P) -> bool
fn is_partitioned<P>(self, predicate: P) -> bool
iter_is_partitioned)true precede all those that return false. Read more1.27.0 (const: unstable) · Source§fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
1.27.0 (const: unstable) · Source§fn try_for_each<F, R>(&mut self, f: F) -> R
fn try_for_each<F, R>(&mut self, f: F) -> R
1.0.0 (const: unstable) · Source§fn fold<B, F>(self, init: B, f: F) -> B
fn fold<B, F>(self, init: B, f: F) -> B
1.51.0 (const: unstable) · Source§fn reduce<F>(self, f: F) -> Option<Self::Item>
fn reduce<F>(self, f: F) -> Option<Self::Item>
Source§fn try_reduce<R>(
&mut self,
f: impl FnMut(Self::Item, Self::Item) -> R,
) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
fn try_reduce<R>( &mut self, f: impl FnMut(Self::Item, Self::Item) -> R, ) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
iterator_try_reduce)1.0.0 (const: unstable) · Source§fn all<F>(&mut self, f: F) -> bool
fn all<F>(&mut self, f: F) -> bool
1.0.0 (const: unstable) · Source§fn any<F>(&mut self, f: F) -> bool
fn any<F>(&mut self, f: F) -> bool
1.0.0 (const: unstable) · Source§fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
1.30.0 (const: unstable) · Source§fn find_map<B, F>(&mut self, f: F) -> Option<B>
fn find_map<B, F>(&mut self, f: F) -> Option<B>
Source§fn try_find<R>(
&mut self,
f: impl FnMut(&Self::Item) -> R,
) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
fn try_find<R>( &mut self, f: impl FnMut(&Self::Item) -> R, ) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
try_find)1.0.0 (const: unstable) · Source§fn position<P>(&mut self, predicate: P) -> Option<usize>
fn position<P>(&mut self, predicate: P) -> Option<usize>
1.0.0 (const: unstable) · Source§fn max(self) -> Option<Self::Item>
fn max(self) -> Option<Self::Item>
1.0.0 (const: unstable) · Source§fn min(self) -> Option<Self::Item>
fn min(self) -> Option<Self::Item>
1.6.0 (const: unstable) · Source§fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
1.15.0 (const: unstable) · Source§fn max_by<F>(self, compare: F) -> Option<Self::Item>
fn max_by<F>(self, compare: F) -> Option<Self::Item>
1.6.0 (const: unstable) · Source§fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
1.15.0 (const: unstable) · Source§fn min_by<F>(self, compare: F) -> Option<Self::Item>
fn min_by<F>(self, compare: F) -> Option<Self::Item>
1.0.0 (const: unstable) · Source§fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
1.36.0 (const: unstable) · Source§fn copied<'a, T>(self) -> Copied<Self> ⓘ
fn copied<'a, T>(self) -> Copied<Self> ⓘ
Source§fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N> ⓘwhere
Self: Sized,
fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N> ⓘwhere
Self: Sized,
iter_array_chunks)N elements of the iterator at a time. Read more1.11.0 (const: unstable) · Source§fn product<P>(self) -> P
fn product<P>(self) -> P
Source§fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
iter_order_by)Iterator with those
of another with respect to the specified comparison function. Read more1.5.0 (const: unstable) · Source§fn partial_cmp<I>(self, other: I) -> Option<Ordering>
fn partial_cmp<I>(self, other: I) -> Option<Ordering>
PartialOrd elements of
this Iterator with those of another. The comparison works like short-circuit
evaluation, returning a result without comparing the remaining elements.
As soon as an order can be determined, the evaluation stops and a result is returned. Read moreSource§fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>where
Self: Sized,
I: IntoIterator,
F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,
fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>where
Self: Sized,
I: IntoIterator,
F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,
iter_order_by)Iterator with those
of another with respect to the specified comparison function. Read moreSource§fn eq_by<I, F>(self, other: I, eq: F) -> bool
fn eq_by<I, F>(self, other: I, eq: F) -> bool
iter_order_by)1.5.0 (const: unstable) · Source§fn lt<I>(self, other: I) -> bool
fn lt<I>(self, other: I) -> bool
Iterator are lexicographically
less than those of another. Read more1.5.0 (const: unstable) · Source§fn le<I>(self, other: I) -> bool
fn le<I>(self, other: I) -> bool
Iterator are lexicographically
less or equal to those of another. Read more1.5.0 (const: unstable) · Source§fn gt<I>(self, other: I) -> bool
fn gt<I>(self, other: I) -> bool
Iterator are lexicographically
greater than those of another. Read more1.5.0 (const: unstable) · Source§fn ge<I>(self, other: I) -> bool
fn ge<I>(self, other: I) -> bool
Iterator are lexicographically
greater than or equal to those of another. Read more1.82.0 (const: unstable) · Source§fn is_sorted(self) -> bool
fn is_sorted(self) -> bool
1.82.0 (const: unstable) · Source§fn is_sorted_by<F>(self, compare: F) -> bool
fn is_sorted_by<F>(self, compare: F) -> bool
Source§impl<R: Read + Seek, S: Read + Seek, C: CentroidLike, D: DeconvolutedCentroidLike> MSDataFileMetadata for ImzMLReaderType<R, S, C, D>
impl<R: Read + Seek, S: Read + Seek, C: CentroidLike, D: DeconvolutedCentroidLike> MSDataFileMetadata for ImzMLReaderType<R, S, C, D>
Source§fn data_processings(&self) -> &Vec<DataProcessing>
fn data_processings(&self) -> &Vec<DataProcessing>
DataProcessing workflows applied to spectra in
this data file.Source§fn instrument_configurations(&self) -> &HashMap<u32, InstrumentConfiguration>
fn instrument_configurations(&self) -> &HashMap<u32, InstrumentConfiguration>
InstrumentConfiguration modes that spectra
were acquired under.Source§fn file_description(&self) -> &FileDescription
fn file_description(&self) -> &FileDescription
Source§fn softwares(&self) -> &Vec<Software>
fn softwares(&self) -> &Vec<Software>
Software applied to the data file to apply different
DataProcessing methods.Source§fn data_processings_mut(&mut self) -> &mut Vec<DataProcessing>
fn data_processings_mut(&mut self) -> &mut Vec<DataProcessing>
DataProcessing list for this data fileSource§fn instrument_configurations_mut(
&mut self,
) -> &mut HashMap<u32, InstrumentConfiguration>
fn instrument_configurations_mut( &mut self, ) -> &mut HashMap<u32, InstrumentConfiguration>
InstrumentConfiguration mapping for this data fileSource§fn file_description_mut(&mut self) -> &mut FileDescription
fn file_description_mut(&mut self) -> &mut FileDescription
FileDescription description of the contents and the
sources for this mass spectrometry data file.Source§fn softwares_mut(&mut self) -> &mut Vec<Software>
fn softwares_mut(&mut self) -> &mut Vec<Software>
Software of this data file.Source§fn samples(&self) -> &Vec<Sample>
fn samples(&self) -> &Vec<Sample>
fn samples_mut(&mut self) -> &mut Vec<Sample>
Source§fn scan_settings(&self) -> Option<&Vec<ScanSettings>>
fn scan_settings(&self) -> Option<&Vec<ScanSettings>>
ScanSettings pre-configured by the instrument
operator prior to the start of data acquisition. Read moreSource§fn scan_settings_mut(&mut self) -> Option<&mut Vec<ScanSettings>>
fn scan_settings_mut(&mut self) -> Option<&mut Vec<ScanSettings>>
ScanSettings for this dataset. Most formats do not
possess a related concept and will not carry one.Source§fn spectrum_count_hint(&self) -> Option<u64>
fn spectrum_count_hint(&self) -> Option<u64>
fn set_spectrum_count_hint(&mut self, _value: Option<u64>)
Source§fn run_description(&self) -> Option<&MassSpectrometryRun>
fn run_description(&self) -> Option<&MassSpectrometryRun>
MassSpectrometryRun metadata record if it is availableSource§fn run_description_mut(&mut self) -> Option<&mut MassSpectrometryRun>
fn run_description_mut(&mut self) -> Option<&mut MassSpectrometryRun>
MassSpectrometryRun metadata record if it is availableSource§fn copy_metadata_from(&mut self, source: &impl MSDataFileMetadata)where
Self: Sized,
fn copy_metadata_from(&mut self, source: &impl MSDataFileMetadata)where
Self: Sized,
MSDataFileMetadata implementation into
this one.Source§fn source_file_name(&self) -> Option<&str>
fn source_file_name(&self) -> Option<&str>
Source§impl<C: CentroidLike + BuildFromArrayMap, D: DeconvolutedCentroidLike + BuildFromArrayMap> MZFileReader<C, D> for ImzMLReaderType<File, File, C, D>
For open_file we assume that the IBD file is named the same as the imzML file
impl<C: CentroidLike + BuildFromArrayMap, D: DeconvolutedCentroidLike + BuildFromArrayMap> MZFileReader<C, D> for ImzMLReaderType<File, File, C, D>
For open_file we assume that the IBD file is named the same as the imzML file
Source§fn open_file(_source: File) -> Result<Self>
fn open_file(_source: File) -> Result<Self>
Source§fn open_path<P>(path: P) -> Result<Self>
fn open_path<P>(path: P) -> Result<Self>
Source§fn construct_index_from_stream(&mut self) -> u64
fn construct_index_from_stream(&mut self) -> u64
Source§fn read_index(&mut self, reader: Box<dyn Read>) -> Result<&mut Self, Error>
fn read_index(&mut self, reader: Box<dyn Read>) -> Result<&mut Self, Error>
fn write_index(&self, writer: Box<dyn Write>) -> Result<&Self, Error>
Source§impl<R: Read + Seek, S: Read + Seek, C: CentroidLike + BuildFromArrayMap, D: DeconvolutedCentroidLike + BuildFromArrayMap> RandomAccessSpectrumIterator<C, D> for ImzMLReaderType<R, S, C, D>
The iterator can also be updated to move to a different location in the
stream efficiently.
impl<R: Read + Seek, S: Read + Seek, C: CentroidLike + BuildFromArrayMap, D: DeconvolutedCentroidLike + BuildFromArrayMap> RandomAccessSpectrumIterator<C, D> for ImzMLReaderType<R, S, C, D>
The iterator can also be updated to move to a different location in the stream efficiently.
Source§fn start_from_id(&mut self, id: &str) -> Result<&mut Self, SpectrumAccessError>
fn start_from_id(&mut self, id: &str) -> Result<&mut Self, SpectrumAccessError>
idSource§fn start_from_index(
&mut self,
index: usize,
) -> Result<&mut Self, SpectrumAccessError>
fn start_from_index( &mut self, index: usize, ) -> Result<&mut Self, SpectrumAccessError>
indexSource§fn start_from_time(
&mut self,
time: f64,
) -> Result<&mut Self, SpectrumAccessError>
fn start_from_time( &mut self, time: f64, ) -> Result<&mut Self, SpectrumAccessError>
timeSource§impl<R: Read + Seek, S: Read + Seek, C: CentroidLike + BuildFromArrayMap, D: DeconvolutedCentroidLike + BuildFromArrayMap> SpectrumSource<C, D> for ImzMLReaderType<R, S, C, D>
They can also be used to fetch specific spectra by ID, index, or start
time when the underlying file stream supports io::Seek.
impl<R: Read + Seek, S: Read + Seek, C: CentroidLike + BuildFromArrayMap, D: DeconvolutedCentroidLike + BuildFromArrayMap> SpectrumSource<C, D> for ImzMLReaderType<R, S, C, D>
They can also be used to fetch specific spectra by ID, index, or start
time when the underlying file stream supports io::Seek.
Source§fn get_spectrum_by_id(&mut self, id: &str) -> Option<MultiLayerSpectrum<C, D>>
fn get_spectrum_by_id(&mut self, id: &str) -> Option<MultiLayerSpectrum<C, D>>
Retrieve a spectrum by it’s native ID
Source§fn get_spectrum_by_index(
&mut self,
index: usize,
) -> Option<MultiLayerSpectrum<C, D>>
fn get_spectrum_by_index( &mut self, index: usize, ) -> Option<MultiLayerSpectrum<C, D>>
Retrieve a spectrum by it’s integer index
Source§fn get_index(&self) -> &OffsetIndex
fn get_index(&self) -> &OffsetIndex
Source§fn set_index(&mut self, index: OffsetIndex)
fn set_index(&mut self, index: OffsetIndex)
Source§fn detail_level(&self) -> &DetailLevel
fn detail_level(&self) -> &DetailLevel
DetailLevel the reader currently usesSource§fn set_detail_level(&mut self, detail_level: DetailLevel)
fn set_detail_level(&mut self, detail_level: DetailLevel)
DetailLevel for the reader, changing
the amount of work done immediately on loading a
spectrum. Read moreSource§fn get_spectrum_by_time(&mut self, time: f64) -> Option<S>
fn get_spectrum_by_time(&mut self, time: f64) -> Option<S>
Source§fn len(&self) -> usize
fn len(&self) -> usize
fn is_empty(&self) -> bool
Source§fn _offset_of_index(&self, index: usize) -> Option<u64>
fn _offset_of_index(&self, index: usize) -> Option<u64>
Source§fn _offset_of_time(&mut self, time: f64) -> Option<u64>
fn _offset_of_time(&mut self, time: f64) -> Option<u64>
Source§fn iter(&mut self) -> SpectrumIterator<'_, C, D, S, Self> ⓘwhere
Self: Sized,
fn iter(&mut self) -> SpectrumIterator<'_, C, D, S, Self> ⓘwhere
Self: Sized,
Source§fn get_group_by_index(&mut self, index: usize) -> Option<SpectrumGroup<C, D, S>>where
Self: Sized,
fn get_group_by_index(&mut self, index: usize) -> Option<SpectrumGroup<C, D, S>>where
Self: Sized,
SpectrumGroup from this sourceSource§fn groups(
&mut self,
) -> SpectrumGroupingIterator<SpectrumIterator<'_, C, D, S, Self>, C, D, S> ⓘwhere
Self: Sized,
fn groups(
&mut self,
) -> SpectrumGroupingIterator<SpectrumIterator<'_, C, D, S, Self>, C, D, S> ⓘwhere
Self: Sized,
Source§fn into_groups(self) -> SpectrumGroupingIterator<Self, C, D, S> ⓘwhere
Self: Sized,
fn into_groups(self) -> SpectrumGroupingIterator<Self, C, D, S> ⓘwhere
Self: Sized,
self to create a SpectrumGroupingIterator. This is ideal for non-rewindable streams
like io::stdin which don’t implement io::SeekAuto Trait Implementations§
impl<R, S, C = CentroidPeak, D = DeconvolutedPeak> !RefUnwindSafe for ImzMLReaderType<R, S, C, D>
impl<R, S, C = CentroidPeak, D = DeconvolutedPeak> !UnwindSafe for ImzMLReaderType<R, S, C, D>
impl<R, S, C, D> Freeze for ImzMLReaderType<R, S, C, D>
impl<R, S, C, D> Send for ImzMLReaderType<R, S, C, D>
impl<R, S, C, D> Sync for ImzMLReaderType<R, S, C, D>
impl<R, S, C, D> Unpin for ImzMLReaderType<R, S, C, D>
impl<R, S, C, D> UnsafeUnpin for ImzMLReaderType<R, S, C, D>where
BufReader<R>: UnsafeUnpin,
BufReader<S>: UnsafeUnpin,
PhantomData<C>: UnsafeUnpin,
PhantomData<D>: UnsafeUnpin,
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 moreSource§impl<I> IntoIterator for Iwhere
I: Iterator,
impl<I> IntoIterator for Iwhere
I: Iterator,
Source§impl<I> IteratorExt for Iwhere
I: Iterator,
impl<I> IteratorExt for Iwhere
I: Iterator,
Source§fn transpose_into_fallible<T, E>(self) -> Convert<I>
fn transpose_into_fallible<T, E>(self) -> Convert<I>
Convert an iterator of Results into FallibleIterator by transposition
Source§fn into_fallible<T>(self) -> IntoFallible<I>
fn into_fallible<T>(self) -> IntoFallible<I>
Convert an iterator of anything into FallibleIterator by wrapping
into Result<T, Infallible> where Infallible is an error that can never actually
happen.
Source§impl<T> ParallelBridge for T
impl<T> ParallelBridge for T
Source§fn par_bridge(self) -> IterBridge<T>
fn par_bridge(self) -> IterBridge<T>
ParallelIterator.Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
impl<C, D, S, T> RandomAccessSpectrumSource<C, D, S> for Twhere
C: CentroidLike,
D: DeconvolutedCentroidLike,
S: SpectrumLike<C, D>,
T: SpectrumSource<C, D, S> + RandomAccessSpectrumIterator<C, D, S>,
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<C, D, I> SpectrumMSEIteratorExt<C, D, I> for I
impl<C, D, I> SpectrumMSEIteratorExt<C, D, I> for I
impl<C, D, S, T> SpectrumSourceWithMetadata<C, D, S> for Twhere
C: CentroidLike,
D: DeconvolutedCentroidLike,
S: SpectrumLike<C, D>,
T: SpectrumSource<C, D, S> + MSDataFileMetadata,
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.