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>

source

pub fn new( description: SpectrumDescription, arrays: Option<BinaryArrayMap>, peaks: Option<MZPeakSetType<C>>, deconvoluted_peaks: Option<MassPeakSetType<D>> ) -> Self

source

pub fn try_build_centroids( &mut self ) -> Result<&MZPeakSetType<C>, SpectrumConversionError>

source

pub fn try_build_deconvoluted_centroids( &mut self ) -> Result<&MassPeakSetType<D>, SpectrumConversionError>

source

pub fn into_centroid( self ) -> Result<CentroidSpectrumType<C>, SpectrumConversionError>

Convert a spectrum into a CentroidSpectrumType

source

pub fn into_raw(self) -> Result<RawSpectrum, SpectrumConversionError>

Convert a spectrum into a RawSpectrum

source

pub fn from_arrays_and_description( arrays: BinaryArrayMap, description: SpectrumDescription ) -> Self

source

pub fn from_description(description: SpectrumDescription) -> Self

source

pub fn from_peaks_data_levels_and_description( peaks: PeakDataLevel<C, D>, description: SpectrumDescription ) -> Self

source

pub fn from_spectrum_like<S: SpectrumLike<C, D>>(spectrum: S) -> Self

source

pub fn denoise(&mut self, scale: f32) -> Result<(), SpectrumProcessingError>

source

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>

source

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.

source

pub fn pick_peaks( &mut self, signal_to_noise_threshold: f32 ) -> Result<(), SpectrumProcessingError>

source

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>

source§

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)

Performs copy-assignment from source. Read more
source§

impl<C: Debug + CentroidLike + Default, D: Debug + DeconvolutedCentroidLike + Default> Debug for MultiLayerSpectrum<C, D>

source§

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

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

impl<C: Default + CentroidLike + Default, D: Default + DeconvolutedCentroidLike + Default> Default for MultiLayerSpectrum<C, D>

source§

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>

source§

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 RawSpectrum

source§

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>

source§

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>

source§

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>

source§

fn params(&self) -> &[Param]

source§

fn params_mut(&mut self) -> &mut ParamList

source§

fn add_param(&mut self, param: Param)

source§

fn remove_param(&mut self, index: usize) -> Param

source§

fn get_param_by_name(&self, name: &str) -> Option<&Param>

source§

fn get_param_by_curie(&self, curie: &CURIE) -> Option<&Param>

source§

fn get_param_by_accession(&self, accession: &str) -> Option<&Param>

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>

source§

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

Get the last isolation window being constructed
source§

fn scan_window_mut(&mut self) -> &mut ScanWindow

Get the last scan window being constructed.
source§

fn selected_ion_mut(&mut self) -> &mut SelectedIon

source§

fn current_array_mut(&mut self) -> &mut DataArray

source§

fn into_spectrum(self, spectrum: &mut MultiLayerSpectrum<C, D>)

Move all the data into the provided spectrum reference
source§

fn fill_spectrum<P: ParamLike + Into<Param> + ParamValue>(&mut self, param: P)

source§

fn fill_binary_data_array<P: ParamLike + Into<Param> + ParamValue>( &mut self, param: P )

source§

fn borrow_instrument_configuration( self, instrument_configurations: &'a mut IncrementingIdMap ) -> Self

source§

fn new_selected_ion(&mut self) -> &mut SelectedIon

source§

fn into_chromatogram(self, chromatogram: &mut Chromatogram)

source§

fn fill_selected_ion(&mut self, param: Param)

source§

fn fill_isolation_window(&mut self, param: Param)

source§

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>

source§

fn isolation_window_mut(&mut self) -> &mut IsolationWindow

Get the last isolation window being constructed
source§

fn scan_window_mut(&mut self) -> &mut ScanWindow

Get the last scan window being constructed.
source§

fn selected_ion_mut(&mut self) -> &mut SelectedIon

source§

fn current_array_mut(&mut self) -> &mut DataArray

source§

fn into_spectrum(self, spectrum: &mut MultiLayerSpectrum<C, D>)

Move all the data into the provided spectrum reference
source§

fn fill_spectrum<P: ParamLike + Into<Param> + ParamValue>(&mut self, param: P)

source§

fn borrow_instrument_configuration( self, instrument_configurations: &'inner mut IncrementingIdMap ) -> Self

source§

fn new_selected_ion(&mut self) -> &mut SelectedIon

source§

fn into_chromatogram(self, chromatogram: &mut Chromatogram)

source§

fn fill_binary_data_array<P: ParamLike + Into<Param> + ParamValue>( &mut self, param: P )

source§

fn fill_selected_ion(&mut self, param: Param)

source§

fn fill_isolation_window(&mut self, param: Param)

source§

fn fill_scan_window(&mut self, param: Param)

source§

impl<C: CentroidLike + Default, D: DeconvolutedCentroidLike + Default> SpectrumLike<C, D> for MultiLayerSpectrum<C, D>

source§

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

The method to access the spectrum descript itself, mutably.
source§

fn peaks(&self) -> RefPeakDataLevel<'_, C, D>

Retrieve the most processed representation of the mass spectrum’s signal
source§

fn raw_arrays(&self) -> Option<&BinaryArrayMap>

source§

fn into_peaks_and_description( self ) -> (PeakDataLevel<C, D>, SpectrumDescription)

source§

fn acquisition(&self) -> &Acquisition

Access the acquisition information for this spectrum.
source§

fn precursor(&self) -> Option<&Precursor>

Access the precursor information, if it exists.
source§

fn precursor_iter(&self) -> impl Iterator<Item = &Precursor>

Iterate over all precursors of the spectrum
source§

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>

Iterate over all precursors of the spectrum mutably
source§

fn start_time(&self) -> f64

A shortcut method to retrieve the scan start time of a spectrum
source§

fn ms_level(&self) -> u8

Access the MS exponentiation level
source§

fn id(&self) -> &str

Access the native ID string for the spectrum
source§

fn index(&self) -> usize

Access the index of the spectrum in the source file
source§

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.
source§

fn polarity(&self) -> ScanPolarity

source§

fn params(&self) -> &ParamList

source§

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

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§

impl<C, D> TryFrom<MultiLayerSpectrum<C, D>> for CentroidSpectrumType<C>

§

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>

Performs the conversion.
source§

impl<C, D> TryFrom<MultiLayerSpectrum<C, D>> for DeconvolutedSpectrumType<D>

§

type Error = SpectrumConversionError

The type returned in the event of a conversion error.
source§

fn try_from(value: MultiLayerSpectrum<C, D>) -> Result<Self, Self::Error>

Performs the conversion.

Auto Trait Implementations§

§

impl<C, D> Freeze for MultiLayerSpectrum<C, D>

§

impl<C, D> RefUnwindSafe for MultiLayerSpectrum<C, D>

§

impl<C, D> Send for MultiLayerSpectrum<C, D>
where C: Send, D: Send,

§

impl<C, D> Sync for MultiLayerSpectrum<C, D>
where C: Sync, D: Sync,

§

impl<C, D> Unpin for MultiLayerSpectrum<C, D>
where C: Unpin, D: Unpin,

§

impl<C, D> UnwindSafe for MultiLayerSpectrum<C, D>
where C: UnwindSafe, D: UnwindSafe,

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> 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> Pointable for T

source§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<SS, SP> SupersetOf<SS> for SP
where SS: SubsetOf<SP>,

source§

fn to_subset(&self) -> Option<SS>

The inverse inclusion map: attempts to construct self from the equivalent element of its superset. Read more
source§

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

Use with care! Same as self.to_subset but without any property checks. Always succeeds.
source§

fn from_subset(element: &SS) -> SP

The inclusion map: converts self to the equivalent element of its superset.
source§

impl<T> ToOwned for T
where T: Clone,

§

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>,

§

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>,

§

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.