pub struct SpectralDatabase { /* private fields */ }Expand description
In-memory spectral database with similarity search.
Spectra are resampled to a common X grid before comparison.
Implementations§
Source§impl SpectralDatabase
impl SpectralDatabase
Sourcepub fn insert(&mut self, record: SpectrumRecord) -> usize
pub fn insert(&mut self, record: SpectrumRecord) -> usize
Insert a spectrum and return its assigned ID.
Sourcepub fn get(&self, id: usize) -> Option<&SpectrumRecord>
pub fn get(&self, id: usize) -> Option<&SpectrumRecord>
Retrieve a spectrum by ID.
Sourcepub fn remove(&mut self, id: usize) -> bool
pub fn remove(&mut self, id: usize) -> bool
Remove a spectrum by ID. Returns true if it was present.
Sourcepub fn search(
&self,
query: &SpectrumRecord,
metric: SimilarityMetric,
top_k: usize,
) -> Vec<SearchResult>
pub fn search( &self, query: &SpectrumRecord, metric: SimilarityMetric, top_k: usize, ) -> Vec<SearchResult>
Search for the top_k most similar spectra to query.
Spectra are compared over their raw Y arrays (resampled if needed via
resample_to). If the arrays differ in length, the shorter is zero-padded.
Sourcepub fn iter(&self) -> impl Iterator<Item = &DatabaseEntry>
pub fn iter(&self) -> impl Iterator<Item = &DatabaseEntry>
Iterate over all entries.
Trait Implementations§
Source§impl Debug for SpectralDatabase
impl Debug for SpectralDatabase
Source§impl Default for SpectralDatabase
impl Default for SpectralDatabase
Source§fn default() -> SpectralDatabase
fn default() -> SpectralDatabase
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for SpectralDatabase
impl RefUnwindSafe for SpectralDatabase
impl Send for SpectralDatabase
impl Sync for SpectralDatabase
impl Unpin for SpectralDatabase
impl UnsafeUnpin for SpectralDatabase
impl UnwindSafe for SpectralDatabase
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<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.