Struct mzdata::spectrum::MultiLayerSpectrum
source · pub struct MultiLayerSpectrum<C: CentroidLike + Default = CentroidPeak, D: DeconvolutedCentroidLike + Default = DeconvolutedPeak> {
pub description: SpectrumDescription,
pub arrays: Option<BinaryArrayMap>,
pub peaks: Option<MZPeakSetType<C>>,
pub deconvoluted_peaks: Option<MassPeakSetType<D>>,
}
Expand description
Represent a spectrum with multiple layers of representation of the peak data.
This type is useful because it permits us to hold spectra in incrementally
Fields§
§description: SpectrumDescription
The spectrum metadata describing acquisition conditions and details.
arrays: Option<BinaryArrayMap>
The (potentially absent) data arrays describing the m/z, intensity, and potentially other measured properties
peaks: Option<MZPeakSetType<C>>
§deconvoluted_peaks: Option<MassPeakSetType<D>>
Implementations§
source§impl<C, D> MultiLayerSpectrum<C, D>where
C: BuildFromArrayMap + BuildArrayMapFrom + CentroidLike + Default,
D: BuildFromArrayMap + BuildArrayMapFrom + DeconvolutedCentroidLike + Default,
impl<C, D> MultiLayerSpectrum<C, D>where
C: BuildFromArrayMap + BuildArrayMapFrom + CentroidLike + Default,
D: BuildFromArrayMap + BuildArrayMapFrom + DeconvolutedCentroidLike + Default,
pub fn new( description: SpectrumDescription, arrays: Option<BinaryArrayMap>, peaks: Option<MZPeakSetType<C>>, deconvoluted_peaks: Option<MassPeakSetType<D>> ) -> Self
pub fn try_build_centroids( &mut self ) -> Result<&MZPeakSetType<C>, SpectrumConversionError>
pub fn try_build_deconvoluted_centroids( &mut self ) -> Result<&MassPeakSetType<D>, SpectrumConversionError>
sourcepub fn into_centroid(
self
) -> Result<CentroidSpectrumType<C>, SpectrumConversionError>
pub fn into_centroid( self ) -> Result<CentroidSpectrumType<C>, SpectrumConversionError>
Convert a spectrum into a CentroidSpectrumType
sourcepub fn into_raw(self) -> Result<RawSpectrum, SpectrumConversionError>
pub fn into_raw(self) -> Result<RawSpectrum, SpectrumConversionError>
Convert a spectrum into a RawSpectrum
pub fn from_arrays_and_description( arrays: BinaryArrayMap, description: SpectrumDescription ) -> Self
pub fn from_description(description: SpectrumDescription) -> Self
pub fn from_peaks_data_levels_and_description( peaks: PeakDataLevel<C, D>, description: SpectrumDescription ) -> Self
pub fn from_spectrum_like<S: SpectrumLike<C, D>>(spectrum: S) -> Self
pub fn denoise(&mut self, scale: f32) -> Result<(), SpectrumProcessingError>
pub fn reprofile_with_shape( &mut self, dx: f64, fwhm: f32 ) -> Result<(), SpectrumProcessingError>
source§impl<C: CentroidLike + Default + From<FittedPeak>, D: DeconvolutedCentroidLike + Default> MultiLayerSpectrum<C, D>
impl<C: CentroidLike + Default + From<FittedPeak>, D: DeconvolutedCentroidLike + Default> MultiLayerSpectrum<C, D>
sourcepub fn pick_peaks_with(
&mut self,
peak_picker: &PeakPicker
) -> Result<(), SpectrumProcessingError>
pub fn pick_peaks_with( &mut self, peak_picker: &PeakPicker ) -> Result<(), SpectrumProcessingError>
Using a pre-configured mzsignal::PeakPicker
to pick peaks
from arrays
’s signal, populating the peaks
field.
pub fn pick_peaks( &mut self, signal_to_noise_threshold: f32 ) -> Result<(), SpectrumProcessingError>
pub fn pick_peaks_in_intervals( &mut self, signal_to_noise_threshold: f32, intervals: &[(f64, f64)] ) -> Result<(), SpectrumProcessingError>
Trait Implementations§
source§impl<C: Clone + CentroidLike + Default, D: Clone + DeconvolutedCentroidLike + Default> Clone for MultiLayerSpectrum<C, D>
impl<C: Clone + CentroidLike + Default, D: Clone + DeconvolutedCentroidLike + Default> Clone for MultiLayerSpectrum<C, D>
source§fn clone(&self) -> MultiLayerSpectrum<C, D>
fn clone(&self) -> MultiLayerSpectrum<C, D>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresource§impl<C: Debug + CentroidLike + Default, D: Debug + DeconvolutedCentroidLike + Default> Debug for MultiLayerSpectrum<C, D>
impl<C: Debug + CentroidLike + Default, D: Debug + DeconvolutedCentroidLike + Default> Debug for MultiLayerSpectrum<C, D>
source§impl<C: Default + CentroidLike + Default, D: Default + DeconvolutedCentroidLike + Default> Default for MultiLayerSpectrum<C, D>
impl<C: Default + CentroidLike + Default, D: Default + DeconvolutedCentroidLike + Default> Default for MultiLayerSpectrum<C, D>
source§fn default() -> MultiLayerSpectrum<C, D>
fn default() -> MultiLayerSpectrum<C, D>
Returns the “default value” for a type. Read more
source§impl<C: CentroidLike + Default, D: DeconvolutedCentroidLike + Default> From<CentroidSpectrumType<C>> for MultiLayerSpectrum<C, D>
impl<C: CentroidLike + Default, D: DeconvolutedCentroidLike + Default> From<CentroidSpectrumType<C>> for MultiLayerSpectrum<C, D>
source§fn from(spectrum: CentroidSpectrumType<C>) -> MultiLayerSpectrum<C, D>
fn from(spectrum: CentroidSpectrumType<C>) -> MultiLayerSpectrum<C, D>
Converts to this type from the input type.
source§impl<C, D> From<MultiLayerSpectrum<C, D>> for RawSpectrumwhere
C: BuildFromArrayMap + BuildArrayMapFrom + CentroidLike + Default,
D: BuildFromArrayMap + BuildArrayMapFrom + DeconvolutedCentroidLike + Default,
impl<C, D> From<MultiLayerSpectrum<C, D>> for RawSpectrumwhere
C: BuildFromArrayMap + BuildArrayMapFrom + CentroidLike + Default,
D: BuildFromArrayMap + BuildArrayMapFrom + DeconvolutedCentroidLike + Default,
source§fn from(spectrum: MultiLayerSpectrum<C, D>) -> RawSpectrum
fn from(spectrum: MultiLayerSpectrum<C, D>) -> RawSpectrum
Converts to this type from the input type.
source§impl<'a, C: CentroidPeakAdapting, D: DeconvolutedPeakAdapting> From<MzMLSpectrumBuilder<'a, C, D>> for MultiLayerSpectrum<C, D>
impl<'a, C: CentroidPeakAdapting, D: DeconvolutedPeakAdapting> From<MzMLSpectrumBuilder<'a, C, D>> for MultiLayerSpectrum<C, D>
source§fn from(val: MzMLSpectrumBuilder<'a, C, D>) -> Self
fn from(val: MzMLSpectrumBuilder<'a, C, D>) -> Self
Converts to this type from the input type.
source§impl<C, D> From<RawSpectrum> for MultiLayerSpectrum<C, D>where
C: BuildFromArrayMap + CentroidLike + Default,
D: BuildFromArrayMap + DeconvolutedCentroidLike + Default,
impl<C, D> From<RawSpectrum> for MultiLayerSpectrum<C, D>where
C: BuildFromArrayMap + CentroidLike + Default,
D: BuildFromArrayMap + DeconvolutedCentroidLike + Default,
source§fn from(spectrum: RawSpectrum) -> MultiLayerSpectrum<C, D>
fn from(spectrum: RawSpectrum) -> MultiLayerSpectrum<C, D>
Converts to this type from the input type.
source§impl<C: CentroidLike + Default, D: DeconvolutedCentroidLike + Default> ParamDescribed for MultiLayerSpectrum<C, D>
impl<C: CentroidLike + Default, D: DeconvolutedCentroidLike + Default> ParamDescribed for MultiLayerSpectrum<C, D>
source§fn params_mut(&mut self) -> &mut ParamList
fn params_mut(&mut self) -> &mut ParamList
Obtain an mutable slice over the encapsulated
Param
listsource§fn get_param_by_name(&self, name: &str) -> Option<&Param>
fn get_param_by_name(&self, name: &str) -> Option<&Param>
Find the first
Param
whose name matches name
source§fn iter_params(&self) -> Iter<'_, Param>
fn iter_params(&self) -> Iter<'_, Param>
Iterate over the encapsulated parameter list
source§fn iter_params_mut(&mut self) -> IterMut<'_, Param>
fn iter_params_mut(&mut self) -> IterMut<'_, Param>
Iterate mutably over the encapsulated parameter list
source§impl<'lifespan, C: CentroidLike + Default + BuildArrayMapFrom + BuildFromArrayMap, D: DeconvolutedCentroidLike + Default + BuildArrayMapFrom + BuildFromArrayMap, G: SpectrumGrouping<C, D, MultiLayerSpectrum<C, D>>, R: RandomAccessSpectrumGroupingIterator<C, D, MultiLayerSpectrum<C, D>, G>> RandomAccessSpectrumGroupingIterator<C, D, MultiLayerSpectrum<C, D>, G> for SpectrumAveragingIterator<'lifespan, C, D, G, R>
impl<'lifespan, C: CentroidLike + Default + BuildArrayMapFrom + BuildFromArrayMap, D: DeconvolutedCentroidLike + Default + BuildArrayMapFrom + BuildFromArrayMap, G: SpectrumGrouping<C, D, MultiLayerSpectrum<C, D>>, R: RandomAccessSpectrumGroupingIterator<C, D, MultiLayerSpectrum<C, D>, G>> RandomAccessSpectrumGroupingIterator<C, D, MultiLayerSpectrum<C, D>, G> for SpectrumAveragingIterator<'lifespan, C, D, G, R>
fn reset_state(&mut self)
fn start_from_id(&mut self, id: &str) -> Result<&Self, SpectrumAccessError>
fn start_from_index( &mut self, index: usize ) -> Result<&Self, SpectrumAccessError>
fn start_from_time(&mut self, time: f64) -> Result<&Self, SpectrumAccessError>
source§impl<'a, C: CentroidPeakAdapting + BuildFromArrayMap, D: DeconvolutedPeakAdapting + BuildFromArrayMap> SpectrumBuilding<'a, C, D, MultiLayerSpectrum<C, D>> for MzMLbSpectrumBuilder<'a, C, D>
impl<'a, C: CentroidPeakAdapting + BuildFromArrayMap, D: DeconvolutedPeakAdapting + BuildFromArrayMap> SpectrumBuilding<'a, C, D, MultiLayerSpectrum<C, D>> for MzMLbSpectrumBuilder<'a, C, D>
source§fn isolation_window_mut(&mut self) -> &mut IsolationWindow
fn isolation_window_mut(&mut self) -> &mut IsolationWindow
Get the last isolation window being constructed
source§fn scan_window_mut(&mut self) -> &mut ScanWindow
fn scan_window_mut(&mut self) -> &mut ScanWindow
Get the last scan window being constructed.
fn selected_ion_mut(&mut self) -> &mut SelectedIon
fn current_array_mut(&mut self) -> &mut DataArray
source§fn into_spectrum(self, spectrum: &mut MultiLayerSpectrum<C, D>)
fn into_spectrum(self, spectrum: &mut MultiLayerSpectrum<C, D>)
Move all the data into the provided
spectrum
referencefn fill_spectrum<P: ParamLike + Into<Param> + ParamValue>(&mut self, param: P)
fn fill_binary_data_array<P: ParamLike + Into<Param> + ParamValue>( &mut self, param: P )
fn borrow_instrument_configuration( self, instrument_configurations: &'a mut IncrementingIdMap ) -> Self
fn new_selected_ion(&mut self) -> &mut SelectedIon
fn into_chromatogram(self, chromatogram: &mut Chromatogram)
fn fill_selected_ion(&mut self, param: Param)
fn fill_isolation_window(&mut self, param: Param)
fn fill_scan_window(&mut self, param: Param)
source§impl<'inner, 'outer: 'inner + 'event, 'event: 'inner, C: CentroidLike + Default, D: DeconvolutedPeakAdapting> SpectrumBuilding<'inner, C, D, MultiLayerSpectrum<C, D>> for MzMLSpectrumBuilder<'inner, C, D>
impl<'inner, 'outer: 'inner + 'event, 'event: 'inner, C: CentroidLike + Default, D: DeconvolutedPeakAdapting> SpectrumBuilding<'inner, C, D, MultiLayerSpectrum<C, D>> for MzMLSpectrumBuilder<'inner, C, D>
source§fn isolation_window_mut(&mut self) -> &mut IsolationWindow
fn isolation_window_mut(&mut self) -> &mut IsolationWindow
Get the last isolation window being constructed
source§fn scan_window_mut(&mut self) -> &mut ScanWindow
fn scan_window_mut(&mut self) -> &mut ScanWindow
Get the last scan window being constructed.
fn selected_ion_mut(&mut self) -> &mut SelectedIon
fn current_array_mut(&mut self) -> &mut DataArray
source§fn into_spectrum(self, spectrum: &mut MultiLayerSpectrum<C, D>)
fn into_spectrum(self, spectrum: &mut MultiLayerSpectrum<C, D>)
Move all the data into the provided
spectrum
referencefn fill_spectrum<P: ParamLike + Into<Param> + ParamValue>(&mut self, param: P)
fn borrow_instrument_configuration( self, instrument_configurations: &'inner mut IncrementingIdMap ) -> Self
fn new_selected_ion(&mut self) -> &mut SelectedIon
fn into_chromatogram(self, chromatogram: &mut Chromatogram)
fn fill_binary_data_array<P: ParamLike + Into<Param> + ParamValue>( &mut self, param: P )
fn fill_selected_ion(&mut self, param: Param)
fn fill_isolation_window(&mut self, param: Param)
fn fill_scan_window(&mut self, param: Param)
source§impl<C: CentroidLike + Default, D: DeconvolutedCentroidLike + Default> SpectrumLike<C, D> for MultiLayerSpectrum<C, D>
impl<C: CentroidLike + Default, D: DeconvolutedCentroidLike + Default> SpectrumLike<C, D> for MultiLayerSpectrum<C, D>
source§fn description(&self) -> &SpectrumDescription
fn description(&self) -> &SpectrumDescription
The method to access the spectrum description itself, which supplies
the data for most other methods on this trait.
source§fn description_mut(&mut self) -> &mut SpectrumDescription
fn description_mut(&mut self) -> &mut SpectrumDescription
The method to access the spectrum descript itself, mutably.
source§fn peaks(&self) -> RefPeakDataLevel<'_, C, D>
fn peaks(&self) -> RefPeakDataLevel<'_, C, D>
Retrieve the most processed representation of the mass spectrum’s
signal
fn raw_arrays(&self) -> Option<&BinaryArrayMap>
fn into_peaks_and_description( self ) -> (PeakDataLevel<C, D>, SpectrumDescription)
source§fn acquisition(&self) -> &Acquisition
fn acquisition(&self) -> &Acquisition
Access the acquisition information for this spectrum.
source§fn precursor_iter(&self) -> impl Iterator<Item = &Precursor>
fn precursor_iter(&self) -> impl Iterator<Item = &Precursor>
Iterate over all precursors of the spectrum
source§fn precursor_mut(&mut self) -> Option<&mut Precursor>
fn precursor_mut(&mut self) -> Option<&mut Precursor>
Mutably access the precursor information, if it exists
source§fn precursor_iter_mut(&mut self) -> impl Iterator<Item = &mut Precursor>
fn precursor_iter_mut(&mut self) -> impl Iterator<Item = &mut Precursor>
Iterate over all precursors of the spectrum mutably
source§fn start_time(&self) -> f64
fn start_time(&self) -> f64
A shortcut method to retrieve the scan start time of a spectrum
source§fn signal_continuity(&self) -> SignalContinuity
fn signal_continuity(&self) -> SignalContinuity
Access a description of how raw the signal is, whether a
profile spectrum is available or only centroids are present.
fn polarity(&self) -> ScanPolarity
fn params(&self) -> &ParamList
source§fn ion_mobility(&self) -> Option<f64>
fn ion_mobility(&self) -> Option<f64>
Access the point measure of ion mobility associated with the scan if present. This is distinct from
having a frame-level scan across the ion mobility dimension.
source§fn has_ion_mobility(&self) -> bool
fn has_ion_mobility(&self) -> bool
Check if this spectrum has a point measure of ion mobility. This is distinct from
having a frame-level scan across the ion mobility dimension.
source§fn update_summaries(&mut self)
fn update_summaries(&mut self)
Compute and update the the total ion current, base peak, and m/z range for
the spectrum based upon its current peak data. Read more
source§impl<C, D> TryFrom<MultiLayerSpectrum<C, D>> for CentroidSpectrumType<C>where
C: BuildFromArrayMap + BuildArrayMapFrom + CentroidLike + Default,
D: BuildFromArrayMap + BuildArrayMapFrom + DeconvolutedCentroidLike + Default,
impl<C, D> TryFrom<MultiLayerSpectrum<C, D>> for CentroidSpectrumType<C>where
C: BuildFromArrayMap + BuildArrayMapFrom + CentroidLike + Default,
D: BuildFromArrayMap + BuildArrayMapFrom + DeconvolutedCentroidLike + Default,
§type Error = SpectrumConversionError
type Error = SpectrumConversionError
The type returned in the event of a conversion error.
source§fn try_from(
spectrum: MultiLayerSpectrum<C, D>
) -> Result<CentroidSpectrumType<C>, Self::Error>
fn try_from( spectrum: MultiLayerSpectrum<C, D> ) -> Result<CentroidSpectrumType<C>, Self::Error>
Performs the conversion.
source§impl<C, D> TryFrom<MultiLayerSpectrum<C, D>> for DeconvolutedSpectrumType<D>where
C: BuildFromArrayMap + BuildArrayMapFrom + CentroidLike + Default,
D: BuildFromArrayMap + BuildArrayMapFrom + DeconvolutedCentroidLike + Default,
impl<C, D> TryFrom<MultiLayerSpectrum<C, D>> for DeconvolutedSpectrumType<D>where
C: BuildFromArrayMap + BuildArrayMapFrom + CentroidLike + Default,
D: BuildFromArrayMap + BuildArrayMapFrom + DeconvolutedCentroidLike + Default,
§type Error = SpectrumConversionError
type Error = SpectrumConversionError
The type returned in the event of a conversion error.
Auto Trait Implementations§
impl<C, D> Freeze for MultiLayerSpectrum<C, D>
impl<C, D> RefUnwindSafe for MultiLayerSpectrum<C, D>where
C: RefUnwindSafe,
D: RefUnwindSafe,
impl<C, D> Send for MultiLayerSpectrum<C, D>
impl<C, D> Sync for MultiLayerSpectrum<C, D>
impl<C, D> Unpin for MultiLayerSpectrum<C, D>
impl<C, D> UnwindSafe for MultiLayerSpectrum<C, D>where
C: UnwindSafe,
D: 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
Mutably borrows from an owned value. Read more
source§impl<T> Pointable for T
impl<T> Pointable for T
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>
The inverse inclusion map: attempts to construct
self
from the equivalent element of its
superset. Read moresource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
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
Use with care! Same as
self.to_subset
but without any property checks. Always succeeds.source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self
to the equivalent element of its superset.