pub struct Feature {
pub hills: Vec<Hill>,
pub charge: u8,
pub cosine_score: f64,
pub ppm_error: f64,
}Expand description
A detected isotope feature: a group of hills forming an isotope envelope.
hills are sorted by mz (monoisotopic first).
charge == 0 means unknown charge (single peak, no isotope partners found).
Fields§
§hills: Vec<Hill>§charge: u8§cosine_score: f64Mean chromatographic cosine similarity (in scan/RT space) between adjacent isotope hills in the chain. Bounded [0, 1]. Measures whether the isotope hills co-elute in time — not whether their intensities match an averagine pattern.
ppm_error: f64Implementations§
Source§impl Feature
impl Feature
pub fn monoisotopic_hill(&self) -> &Hill
pub fn monoisotopic_mz(&self) -> f64
Sourcepub fn faims_cv(&self) -> Option<f32>
pub fn faims_cv(&self) -> Option<f32>
FAIMS compensation voltage of this feature, inherited from its monoisotopic hill. Feature assembly guarantees all member hills share this value.
Sourcepub fn monoisotopic_neutral_mass(&self, polarity: Polarity) -> Option<f64>
pub fn monoisotopic_neutral_mass(&self, polarity: Polarity) -> Option<f64>
Neutral monoisotopic mass, undoing polarity’s adduct (mz·z ∓ z·proton).
pub fn rt_apex(&self) -> f64
pub fn rt_start(&self) -> f64
pub fn rt_end(&self) -> f64
pub fn im_apex(&self) -> f64
pub fn total_intensity(&self) -> f64
pub fn n_scans_total(&self) -> usize
Sourcepub fn elution_profile(&self) -> (usize, usize, Vec<f64>)
pub fn elution_profile(&self) -> (usize, usize, Vec<f64>)
Combined elution profile: sum of all isotope hill intensities per scan. Returns (min_scan, max_scan, profile_vec).
Sourcepub fn total_intensity_at_apex(&self) -> f64
pub fn total_intensity_at_apex(&self) -> f64
Total intensity at the apex scan (summed across all isotope hills).
Sourcepub fn apex_scan(&self) -> usize
pub fn apex_scan(&self) -> usize
Apex scan index: scan where the sum of all isotope hill intensities is highest.
Sourcepub fn isotope_profile_apex(&self) -> Vec<f64>
pub fn isotope_profile_apex(&self) -> Vec<f64>
Isotope profile at the apex scan: one intensity per hill.
Sourcepub fn mono_scan_list(&self) -> Vec<usize>
pub fn mono_scan_list(&self) -> Vec<usize>
Scan list for monoisotopic hill.
Sourcepub fn mono_intensity_list(&self) -> &[f32]
pub fn mono_intensity_list(&self) -> &[f32]
Intensity list for monoisotopic hill.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Feature
impl RefUnwindSafe for Feature
impl Send for Feature
impl Sync for Feature
impl Unpin for Feature
impl UnsafeUnpin for Feature
impl UnwindSafe for Feature
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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