pub struct MultiLayerSpectrum<C = CentroidPeak, D = DeconvolutedPeak>where
C: CentroidLike,
D: DeconvolutedCentroidLike,{
pub description: SpectrumDescription,
pub arrays: Option<BinaryArrayMap>,
pub peaks: Option<PeakSetVec<C, MZ>>,
pub deconvoluted_peaks: Option<PeakSetVec<D, Mass>>,
}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 more processed representations without loss of information.
Fields§
§description: SpectrumDescriptionThe 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<PeakSetVec<C, MZ>>§deconvoluted_peaks: Option<PeakSetVec<D, Mass>>Implementations§
Source§impl<C, D> MultiLayerSpectrum<C, D>where
C: CentroidLike,
D: DeconvolutedCentroidLike,
impl<C, D> MultiLayerSpectrum<C, D>where
C: CentroidLike,
D: DeconvolutedCentroidLike,
Sourcepub fn new(
description: SpectrumDescription,
arrays: Option<BinaryArrayMap>,
peaks: Option<PeakSetVec<C, MZ>>,
deconvoluted_peaks: Option<PeakSetVec<D, Mass>>,
) -> MultiLayerSpectrum<C, D>
pub fn new( description: SpectrumDescription, arrays: Option<BinaryArrayMap>, peaks: Option<PeakSetVec<C, MZ>>, deconvoluted_peaks: Option<PeakSetVec<D, Mass>>, ) -> MultiLayerSpectrum<C, D>
Create a new MultiLayerSpectrum from a SpectrumDescription and
any/all/none of the different levels of processing details for signal
data.
Source§impl<C, D> MultiLayerSpectrum<C, D>where
C: CentroidLike + BuildFromArrayMap + BuildArrayMapFrom,
D: DeconvolutedCentroidLike + BuildFromArrayMap + BuildArrayMapFrom,
impl<C, D> MultiLayerSpectrum<C, D>where
C: CentroidLike + BuildFromArrayMap + BuildArrayMapFrom,
D: DeconvolutedCentroidLike + BuildFromArrayMap + BuildArrayMapFrom,
Sourcepub fn into_centroid(
self,
) -> Result<CentroidSpectrumType<C>, SpectrumConversionError>
pub fn into_centroid( self, ) -> Result<CentroidSpectrumType<C>, SpectrumConversionError>
Convert a spectrum into a CentroidSpectrumType.
This will try the following steps to get the peak list to use in the new instance:
- If the
peaksfield is populated, use it directly . - If the
Self::signal_continuityisSignalContinuity::CentroidandSelf::arraysis populated, attempt [C::try_from_arrays] to build the peak list from the raw arrays. Otherwise assume the peak list is empty. - Fail with
SpectrumConversionError::NotCentroided
Examples found in repository?
6fn main() -> io::Result<()> {
7 let reader = mzdata::MZReader::open_path("./test/data/small.mzML")?;
8
9 let mut ms1_count = 0;
10 let mut msn_count = 0;
11 for spectrum in reader {
12 if spectrum.ms_level() == 1 {
13 ms1_count += 1;
14 } else {
15 msn_count += 1;
16 }
17 println!(
18 "Scan {} => BP {}",
19 spectrum.id(),
20 spectrum.peaks().base_peak().mz
21 );
22 if spectrum.signal_continuity() < SignalContinuity::Profile {
23 let peak_picked = spectrum.into_centroid().unwrap();
24 println!(
25 "Matches for 579.155: {:?}",
26 peak_picked
27 .peaks
28 .all_peaks_for(579.155, Tolerance::Da(0.02))
29 );
30 }
31 }
32 println!("MS1 Count: {}\nMSn Count: {}", ms1_count, msn_count);
33 assert_eq!(ms1_count, 14);
34 assert_eq!(msn_count, 34);
35 Ok(())
36}Sourcepub fn into_raw(self) -> Result<RawSpectrum, SpectrumConversionError>
pub fn into_raw(self) -> Result<RawSpectrum, SpectrumConversionError>
Convert a spectrum into a RawSpectrum
Sourcepub fn from_arrays_and_description(
arrays: BinaryArrayMap,
description: SpectrumDescription,
) -> MultiLayerSpectrum<C, D>
pub fn from_arrays_and_description( arrays: BinaryArrayMap, description: SpectrumDescription, ) -> MultiLayerSpectrum<C, D>
Construct a MultiLayerSpectrum with description and the provided raw data arrays
Sourcepub fn from_description(
description: SpectrumDescription,
) -> MultiLayerSpectrum<C, D>
pub fn from_description( description: SpectrumDescription, ) -> MultiLayerSpectrum<C, D>
Construct a MultiLayerSpectrum with description and no peak data of any kind
Sourcepub fn from_peaks_data_levels_and_description(
peaks: PeakDataLevel<C, D>,
description: SpectrumDescription,
) -> MultiLayerSpectrum<C, D>
pub fn from_peaks_data_levels_and_description( peaks: PeakDataLevel<C, D>, description: SpectrumDescription, ) -> MultiLayerSpectrum<C, D>
Construct a MultiLayerSpectrum with description and a PeakDataLevel containing
at most one of the data modalities. This is convenient for reconstructing a spectrum
from its parts.
Sourcepub fn from_spectrum_like<S>(spectrum: S) -> MultiLayerSpectrum<C, D>where
S: SpectrumLike<C, D>,
pub fn from_spectrum_like<S>(spectrum: S) -> MultiLayerSpectrum<C, D>where
S: SpectrumLike<C, D>,
Converts an arbitrary SpectrumLike type into a MultiLayerSpectrum with the same
peak types.
This is a thin wrapper around SpectrumLike::into_peaks_and_description and MultiLayerSpectrum::from_peaks_data_levels_and_description
Sourcepub fn reinterpret<C1, D1>(self) -> MultiLayerSpectrum<C1, D1>where
C1: CentroidLike + BuildArrayMapFrom + BuildFromArrayMap,
D1: DeconvolutedCentroidLike + BuildArrayMapFrom + BuildFromArrayMap,
C: BuildArrayMapFrom,
D: BuildArrayMapFrom,
pub fn reinterpret<C1, D1>(self) -> MultiLayerSpectrum<C1, D1>where
C1: CentroidLike + BuildArrayMapFrom + BuildFromArrayMap,
D1: DeconvolutedCentroidLike + BuildArrayMapFrom + BuildFromArrayMap,
C: BuildArrayMapFrom,
D: BuildArrayMapFrom,
Convert a MultiLayerSpectrum with one set of peak types to another with any peak type, but
recode the peak list as DataArray as an intermediary, potentially losing information if
the new peak types do not re-use the same ArrayType during peak reconstruction.
§Note
Peak data is not actually reconstructed from the intermediate data arrays. If that is desired,
call MultiLayerSpectrum::try_build_peaks
Sourcepub fn denoise(&mut self, scale: f32) -> Result<(), SpectrumProcessingError>
pub fn denoise(&mut self, scale: f32) -> Result<(), SpectrumProcessingError>
Apply a local denoising algorithm to the signal that is suitable for profile mode
data using mzsignal::denoise.
Sourcepub fn reprofile_with_shape(
&mut self,
dx: f64,
fwhm: f32,
) -> Result<(), SpectrumProcessingError>
pub fn reprofile_with_shape( &mut self, dx: f64, fwhm: f32, ) -> Result<(), SpectrumProcessingError>
When mzsignal is available, use mzsignal::reprofile::PeakSetReprofiler to create
new profile m/z and intensity DataArrays from MultiLayerSpectrum::peaks, updating
MultiLayerSpectrum::arrays.
NOTE: This does not modify SpectrumLike::signal_continuity, and if it is desired
you should update this manually to SignalContinuity::Profile.
§Arguments
dx: The m/z grid spacing that the profile signal will be projected onto. The best value to use here depends upon the spectrum’s resolution, but when resources are not an issue between0.005and0.001are is a choice. This may produce a lot of wasted space however.fwhm: The uniform peak full-width-at-half-max to assume for all peaks. It controls the broadness of the theoretical gaussian profile created around each centroid peak. If non-uniform shapes are needed, directly usePeakSetReprofiler.
Source§impl<C, D> MultiLayerSpectrum<C, D>
impl<C, D> MultiLayerSpectrum<C, D>
Sourcepub fn try_build_peaks(
&mut self,
) -> Result<RefPeakDataLevel<'_, C, D>, SpectrumConversionError>
pub fn try_build_peaks( &mut self, ) -> Result<RefPeakDataLevel<'_, C, D>, SpectrumConversionError>
Attempt to reconstruct one of the peak layers based upon the available data arrays if this spectrum is in centroid mode.
§Errors
If constructing the peak list encounters an error, or if data array access/decoding fails,
a SpectrumConversionError is returned.
pub fn try_build_centroids( &mut self, ) -> Result<&PeakSetVec<C, MZ>, SpectrumConversionError>
pub fn try_build_deconvoluted_centroids( &mut self, ) -> Result<&PeakSetVec<D, Mass>, SpectrumConversionError>
Source§impl<C, D> MultiLayerSpectrum<C, D>
When mzsignal is available, MultiLayerSpectrum supports in-place signal processing operations.
impl<C, D> MultiLayerSpectrum<C, D>
When mzsignal is available, MultiLayerSpectrum supports in-place signal processing operations.
The peak picking steps need to convert an mzsignal::FittedPeak into C. This is trivial for CentroidPeak
and mzsignal::FittedPeak itself.
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.
If SpectrumLike::signal_continuity returns SignalContinuity::Centroid, then no filtering is
performed and all points are directly converted into picked peaks.
NOTE: This does not modify SpectrumLike::signal_continuity, and if it is desired
you should update this manually to SignalContinuity::Centroid.
Sourcepub fn pick_peaks(
&mut self,
signal_to_noise_threshold: f32,
) -> Result<(), SpectrumProcessingError>
pub fn pick_peaks( &mut self, signal_to_noise_threshold: f32, ) -> Result<(), SpectrumProcessingError>
Pick peaks with a minimum signal-to-noise threshold, populating MultiLayerSpectrum::peaks with
an mzpeaks::MZPeakSetType over C.
§See also
Sourcepub fn pick_peaks_in_intervals(
&mut self,
signal_to_noise_threshold: f32,
intervals: &[(f64, f64)],
) -> Result<(), SpectrumProcessingError>
pub fn pick_peaks_in_intervals( &mut self, signal_to_noise_threshold: f32, intervals: &[(f64, f64)], ) -> Result<(), SpectrumProcessingError>
Pick peaks in the specified m/z intervals with a minimum signal-to-noise threshold,
populating MultiLayerSpectrum::peaks with an mzpeaks::MZPeakSetType over C
from those intervals.
If SpectrumLike::signal_continuity returns SignalContinuity::Centroid, then
array data is converted to peaks as in MultiLayerSpectrum::pick_peaks and then
only those peaks in the requested intervals are kept.
NOTE: This does not modify SpectrumLike::signal_continuity, and if it is desired
you should update this manually to SignalContinuity::Centroid.
Trait Implementations§
Source§impl<C, D> Clone for MultiLayerSpectrum<C, D>
impl<C, D> Clone for MultiLayerSpectrum<C, D>
Source§fn clone(&self) -> MultiLayerSpectrum<C, D>
fn clone(&self) -> MultiLayerSpectrum<C, D>
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<C, D> Debug for MultiLayerSpectrum<C, D>
impl<C, D> Debug for MultiLayerSpectrum<C, D>
Source§impl<C, D> Default for MultiLayerSpectrum<C, D>where
C: CentroidLike,
D: DeconvolutedCentroidLike,
impl<C, D> Default for MultiLayerSpectrum<C, D>where
C: CentroidLike,
D: DeconvolutedCentroidLike,
Source§fn default() -> MultiLayerSpectrum<C, D>
fn default() -> MultiLayerSpectrum<C, D>
Source§impl<'de, C, D> Deserialize<'de> for MultiLayerSpectrum<C, D>
impl<'de, C, D> Deserialize<'de> for MultiLayerSpectrum<C, D>
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<MultiLayerSpectrum<C, D>, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<MultiLayerSpectrum<C, D>, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl<C, D> From<CentroidSpectrumType<C>> for MultiLayerSpectrum<C, D>where
C: CentroidLike,
D: DeconvolutedCentroidLike,
impl<C, D> From<CentroidSpectrumType<C>> for MultiLayerSpectrum<C, D>where
C: CentroidLike,
D: DeconvolutedCentroidLike,
Source§fn from(spectrum: CentroidSpectrumType<C>) -> MultiLayerSpectrum<C, D>
fn from(spectrum: CentroidSpectrumType<C>) -> MultiLayerSpectrum<C, D>
Source§impl<C, D> From<MultiLayerSpectrum<C, D>> for RawSpectrumwhere
C: CentroidLike + BuildFromArrayMap + BuildArrayMapFrom,
D: DeconvolutedCentroidLike + BuildFromArrayMap + BuildArrayMapFrom,
impl<C, D> From<MultiLayerSpectrum<C, D>> for RawSpectrumwhere
C: CentroidLike + BuildFromArrayMap + BuildArrayMapFrom,
D: DeconvolutedCentroidLike + BuildFromArrayMap + BuildArrayMapFrom,
Source§fn from(spectrum: MultiLayerSpectrum<C, D>) -> RawSpectrum
fn from(spectrum: MultiLayerSpectrum<C, D>) -> RawSpectrum
Source§impl<C: CentroidLike + BuildFromArrayMap + BuildArrayMapFrom, D: DeconvolutedCentroidLike + BuildFromArrayMap + BuildArrayMapFrom> From<PROXISpectrum> for MultiLayerSpectrum<C, D>
impl<C: CentroidLike + BuildFromArrayMap + BuildArrayMapFrom, D: DeconvolutedCentroidLike + BuildFromArrayMap + BuildArrayMapFrom> From<PROXISpectrum> for MultiLayerSpectrum<C, D>
Source§fn from(value: PROXISpectrum) -> Self
fn from(value: PROXISpectrum) -> Self
Source§impl<C, D> From<RawSpectrum> for MultiLayerSpectrum<C, D>
impl<C, D> From<RawSpectrum> for MultiLayerSpectrum<C, D>
Source§fn from(spectrum: RawSpectrum) -> MultiLayerSpectrum<C, D>
fn from(spectrum: RawSpectrum) -> MultiLayerSpectrum<C, D>
Source§impl<C, D> ParamDescribed for MultiLayerSpectrum<C, D>where
C: CentroidLike,
D: DeconvolutedCentroidLike,
impl<C, D> ParamDescribed for MultiLayerSpectrum<C, D>where
C: CentroidLike,
D: DeconvolutedCentroidLike,
Source§fn params_mut(&mut self) -> &mut Vec<Param>
fn params_mut(&mut self) -> &mut Vec<Param>
Param listSource§fn extend_params(&mut self, it: impl IntoIterator<Item = Param>)
fn extend_params(&mut self, it: impl IntoIterator<Item = Param>)
Param to the entitySource§fn get_param_by_name(&self, name: &str) -> Option<&Param>
fn get_param_by_name(&self, name: &str) -> Option<&Param>
Param whose name matches nameSource§impl<C: CentroidLike + BuildArrayMapFrom + BuildFromArrayMap, D: DeconvolutedCentroidLike + 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<'_, C, D, G, R>
impl<C: CentroidLike + BuildArrayMapFrom + BuildFromArrayMap, D: DeconvolutedCentroidLike + 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<'_, 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<C, D> Serialize for MultiLayerSpectrum<C, D>
impl<C, D> Serialize for MultiLayerSpectrum<C, D>
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Source§impl<'a, C: CentroidLike + BuildFromArrayMap, D: DeconvolutedCentroidLike + BuildFromArrayMap> SpectrumBuilding<'a, C, D, MultiLayerSpectrum<C, D>> for ImzMLSpectrumBuilder<'a, C, D>
impl<'a, C: CentroidLike + BuildFromArrayMap, D: DeconvolutedCentroidLike + BuildFromArrayMap> SpectrumBuilding<'a, C, D, MultiLayerSpectrum<C, D>> for ImzMLSpectrumBuilder<'a, C, D>
Source§fn into_spectrum(self, spectrum: &mut MultiLayerSpectrum<C, D>)
fn into_spectrum(self, spectrum: &mut MultiLayerSpectrum<C, D>)
spectrum referenceSource§fn into_chromatogram(self, chromatogram: &mut Chromatogram)
fn into_chromatogram(self, chromatogram: &mut Chromatogram)
chromatogram referenceSource§fn set_run_data_processing(&mut self, run_data_processing: Option<Box<str>>)
fn set_run_data_processing(&mut self, run_data_processing: Option<Box<str>>)
fn borrow_metadata( self, instrument_id_map: &'a mut IncrementingIdMap, reference_param_groups: &'a HashMap<String, Vec<Param>>, ) -> Self
Source§fn fill_spectrum<P: ParamLike + Into<Param> + ParamValue>(&mut self, param: P)
fn fill_spectrum<P: ParamLike + Into<Param> + ParamValue>(&mut self, param: P)
Source§fn current_array_mut(&mut self) -> &mut DataArray
fn current_array_mut(&mut self) -> &mut DataArray
DataArray being built. This may be an empty instance if
if there is no array being built currently.Source§fn precursor_mut(&mut self) -> &mut Precursor
fn precursor_mut(&mut self) -> &mut Precursor
Precursor being built.Source§fn new_precursor_mut(&mut self) -> &mut Precursor
fn new_precursor_mut(&mut self) -> &mut Precursor
Source§fn new_selected_ion(&mut self) -> &mut SelectedIon
fn new_selected_ion(&mut self) -> &mut SelectedIon
Source§fn selected_ion_mut(&mut self) -> &mut SelectedIon
fn selected_ion_mut(&mut self) -> &mut SelectedIon
SelectedIon being built.Source§fn scan_window_mut(&mut self) -> &mut ScanWindow
fn scan_window_mut(&mut self) -> &mut ScanWindow
Source§fn isolation_window_mut(&mut self) -> &mut IsolationWindow
fn isolation_window_mut(&mut self) -> &mut IsolationWindow
fn product_isolation_window_mut(&mut self) -> &mut IsolationWindow
fn new_product(&mut self) -> &mut Product
Source§fn set_current_compression(&mut self, compression: BinaryCompressionType)
fn set_current_compression(&mut self, compression: BinaryCompressionType)
DataArraySource§fn fill_binary_data_array<P: ParamLike + Into<Param> + ParamValue>(
&mut self,
param: P,
)
fn fill_binary_data_array<P: ParamLike + Into<Param> + ParamValue>( &mut self, param: P, )
DataArraySource§fn fill_selected_ion(&mut self, param: Param)
fn fill_selected_ion(&mut self, param: Param)
SelectedIonfn populate_isolation_window(param: Param, window: &mut IsolationWindow)
Source§fn fill_isolation_window(&mut self, param: Param)
fn fill_isolation_window(&mut self, param: Param)
IsolationWindowSource§fn fill_product_isolation_window(&mut self, param: Param)
fn fill_product_isolation_window(&mut self, param: Param)
IsolationWindow from a ProductSource§fn fill_scan_window(&mut self, param: Param)
fn fill_scan_window(&mut self, param: Param)
ScanWindowSource§impl<C, D> SpectrumLike<C, D> for MultiLayerSpectrum<C, D>where
C: CentroidLike,
D: DeconvolutedCentroidLike,
impl<C, D> SpectrumLike<C, D> for MultiLayerSpectrum<C, D>where
C: CentroidLike,
D: DeconvolutedCentroidLike,
Source§fn description(&self) -> &SpectrumDescription
fn description(&self) -> &SpectrumDescription
Source§fn description_mut(&mut self) -> &mut SpectrumDescription
fn description_mut(&mut self) -> &mut SpectrumDescription
Source§fn peaks(&self) -> RefPeakDataLevel<'_, C, D>
fn peaks(&self) -> RefPeakDataLevel<'_, C, D>
Source§fn raw_arrays(&self) -> Option<&BinaryArrayMap>
fn raw_arrays(&self) -> Option<&BinaryArrayMap>
BinaryArrayMap if one is available for the peak
information. This may not be the most refined version of the peak signal if
it has been processed further.Source§fn into_peaks_and_description(
self,
) -> (PeakDataLevel<C, D>, SpectrumDescription)
fn into_peaks_and_description( self, ) -> (PeakDataLevel<C, D>, SpectrumDescription)
SpectrumDescription and an owning
PeakDataLevel. Read moreSource§fn acquisition(&self) -> &Acquisition
fn acquisition(&self) -> &Acquisition
Source§fn precursor(&self) -> Option<&Precursor>
fn precursor(&self) -> Option<&Precursor>
Source§fn precursor_iter(&self) -> impl Iterator<Item = &Precursor> + ExactSizeIterator
fn precursor_iter(&self) -> impl Iterator<Item = &Precursor> + ExactSizeIterator
Source§fn precursor_count(&self) -> usize
fn precursor_count(&self) -> usize
Source§fn precursor_mut(&mut self) -> Option<&mut Precursor>
fn precursor_mut(&mut self) -> Option<&mut Precursor>
Source§fn precursor_iter_mut(
&mut self,
) -> impl Iterator<Item = &mut Precursor> + ExactSizeIterator
fn precursor_iter_mut( &mut self, ) -> impl Iterator<Item = &mut Precursor> + ExactSizeIterator
Source§fn add_precursor(&mut self, precursor: Precursor)
fn add_precursor(&mut self, precursor: Precursor)
Source§fn remove_precursor(&mut self, index: usize) -> Precursor
fn remove_precursor(&mut self, index: usize) -> Precursor
index in the precursor list. Read moreSource§fn start_time(&self) -> f64
fn start_time(&self) -> f64
Source§fn signal_continuity(&self) -> SignalContinuity
fn signal_continuity(&self) -> SignalContinuity
Source§fn polarity(&self) -> ScanPolarity
fn polarity(&self) -> ScanPolarity
Source§fn ion_mobility(&self) -> Option<f64>
fn ion_mobility(&self) -> Option<f64>
Source§fn has_ion_mobility(&self) -> bool
fn has_ion_mobility(&self) -> bool
Source§fn has_ion_mobility_dimension(&self) -> bool
fn has_ion_mobility_dimension(&self) -> bool
Source§fn has_ion_mobility_class(&self) -> HasIonMobility
fn has_ion_mobility_class(&self) -> HasIonMobility
Source§fn spectrum_type(&self) -> Option<SpectrumType>
fn spectrum_type(&self) -> Option<SpectrumType>
Source§fn set_spectrum_type(&mut self, spectrum_type: SpectrumType)
fn set_spectrum_type(&mut self, spectrum_type: SpectrumType)
Source§fn update_summaries(&mut self)
fn update_summaries(&mut self)
Source§impl<CFeat, DFeat, CPeak, DPeak> TryFrom<MultiLayerIonMobilityFrame<CFeat, DFeat>> for MultiLayerSpectrum<CPeak, DPeak>where
CFeat: FeatureLike<MZ, IonMobility> + BuildArrayMap3DFrom,
DFeat: FeatureLike<Mass, IonMobility> + KnownCharge + BuildArrayMap3DFrom,
CPeak: CentroidLike + BuildFromArrayMap,
DPeak: DeconvolutedCentroidLike + BuildFromArrayMap,
A MultiLayerIonMobilityFrame can be converted to MultiLayerSpectrum by flattening
the feature data into a BinaryArrayMap.
impl<CFeat, DFeat, CPeak, DPeak> TryFrom<MultiLayerIonMobilityFrame<CFeat, DFeat>> for MultiLayerSpectrum<CPeak, DPeak>where
CFeat: FeatureLike<MZ, IonMobility> + BuildArrayMap3DFrom,
DFeat: FeatureLike<Mass, IonMobility> + KnownCharge + BuildArrayMap3DFrom,
CPeak: CentroidLike + BuildFromArrayMap,
DPeak: DeconvolutedCentroidLike + BuildFromArrayMap,
A MultiLayerIonMobilityFrame can be converted to MultiLayerSpectrum by flattening
the feature data into a BinaryArrayMap.
Source§type Error = ArrayRetrievalError
type Error = ArrayRetrievalError
Source§fn try_from(
value: MultiLayerIonMobilityFrame<CFeat, DFeat>,
) -> Result<MultiLayerSpectrum<CPeak, DPeak>, <MultiLayerSpectrum<CPeak, DPeak> as TryFrom<MultiLayerIonMobilityFrame<CFeat, DFeat>>>::Error>
fn try_from( value: MultiLayerIonMobilityFrame<CFeat, DFeat>, ) -> Result<MultiLayerSpectrum<CPeak, DPeak>, <MultiLayerSpectrum<CPeak, DPeak> as TryFrom<MultiLayerIonMobilityFrame<CFeat, DFeat>>>::Error>
Source§impl<C, D> TryFrom<MultiLayerSpectrum<C, D>> for CentroidSpectrumType<C>where
C: CentroidLike + BuildFromArrayMap + BuildArrayMapFrom,
D: DeconvolutedCentroidLike + BuildFromArrayMap + BuildArrayMapFrom,
impl<C, D> TryFrom<MultiLayerSpectrum<C, D>> for CentroidSpectrumType<C>where
C: CentroidLike + BuildFromArrayMap + BuildArrayMapFrom,
D: DeconvolutedCentroidLike + BuildFromArrayMap + BuildArrayMapFrom,
Source§type Error = SpectrumConversionError
type Error = SpectrumConversionError
Source§fn try_from(
spectrum: MultiLayerSpectrum<C, D>,
) -> Result<CentroidSpectrumType<C>, <CentroidSpectrumType<C> as TryFrom<MultiLayerSpectrum<C, D>>>::Error>
fn try_from( spectrum: MultiLayerSpectrum<C, D>, ) -> Result<CentroidSpectrumType<C>, <CentroidSpectrumType<C> as TryFrom<MultiLayerSpectrum<C, D>>>::Error>
Source§impl<C, D> TryFrom<MultiLayerSpectrum<C, D>> for DeconvolutedSpectrumType<D>where
C: CentroidLike + BuildFromArrayMap + BuildArrayMapFrom,
D: DeconvolutedCentroidLike + BuildFromArrayMap + BuildArrayMapFrom,
impl<C, D> TryFrom<MultiLayerSpectrum<C, D>> for DeconvolutedSpectrumType<D>where
C: CentroidLike + BuildFromArrayMap + BuildArrayMapFrom,
D: DeconvolutedCentroidLike + BuildFromArrayMap + BuildArrayMapFrom,
Source§type Error = SpectrumConversionError
type Error = SpectrumConversionError
Source§fn try_from(
value: MultiLayerSpectrum<C, D>,
) -> Result<DeconvolutedSpectrumType<D>, <DeconvolutedSpectrumType<D> as TryFrom<MultiLayerSpectrum<C, D>>>::Error>
fn try_from( value: MultiLayerSpectrum<C, D>, ) -> Result<DeconvolutedSpectrumType<D>, <DeconvolutedSpectrumType<D> as TryFrom<MultiLayerSpectrum<C, D>>>::Error>
Source§impl<CFeat, DFeat, CPeak, DPeak> TryFrom<MultiLayerSpectrum<CPeak, DPeak>> for MultiLayerIonMobilityFrame<CFeat, DFeat>where
CFeat: FeatureLike<MZ, IonMobility>,
DFeat: FeatureLike<Mass, IonMobility> + KnownCharge,
CPeak: CentroidLike,
DPeak: DeconvolutedCentroidLike,
MultiLayerSpectrum instances can be converted to MultiLayerIonMobilityFrame by
using BinaryArrayMap3D::stack on the flat MultiLayerSpectrum::arrays.
impl<CFeat, DFeat, CPeak, DPeak> TryFrom<MultiLayerSpectrum<CPeak, DPeak>> for MultiLayerIonMobilityFrame<CFeat, DFeat>where
CFeat: FeatureLike<MZ, IonMobility>,
DFeat: FeatureLike<Mass, IonMobility> + KnownCharge,
CPeak: CentroidLike,
DPeak: DeconvolutedCentroidLike,
MultiLayerSpectrum instances can be converted to MultiLayerIonMobilityFrame by
using BinaryArrayMap3D::stack on the flat MultiLayerSpectrum::arrays.
§Errors
This will fail if BinaryArrayMap3D::stack fails
Source§type Error = ArrayRetrievalError
type Error = ArrayRetrievalError
Source§fn try_from(
value: MultiLayerSpectrum<CPeak, DPeak>,
) -> Result<MultiLayerIonMobilityFrame<CFeat, DFeat>, <MultiLayerIonMobilityFrame<CFeat, DFeat> as TryFrom<MultiLayerSpectrum<CPeak, DPeak>>>::Error>
fn try_from( value: MultiLayerSpectrum<CPeak, DPeak>, ) -> Result<MultiLayerIonMobilityFrame<CFeat, DFeat>, <MultiLayerIonMobilityFrame<CFeat, DFeat> as TryFrom<MultiLayerSpectrum<CPeak, DPeak>>>::Error>
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>
impl<C, D> Sync for MultiLayerSpectrum<C, D>
impl<C, D> Unpin for MultiLayerSpectrum<C, D>
impl<C, D> UnsafeUnpin for MultiLayerSpectrum<C, D>
impl<C, D> UnwindSafe for MultiLayerSpectrum<C, D>
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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<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<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
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.