| OpenMS 2.5.0

Classes | Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
DataFilters Class Reference

DataFilter array providing some convenience functions. More...

`#include <OpenMS/FILTERING/DATAREDUCTION/DataFilters.h>`

## Classes

struct | DataFilter
| Representation of a peak/feature filter combining FilterType, FilterOperation and a value. More...

## Public Types

enum | FilterType { INTENSITY, QUALITY, CHARGE, SIZE, META_DATA }
| Information to filter. More...
enum | FilterOperation { GREATER_EQUAL, EQUAL, LESS_EQUAL, EXISTS }
| Filter operation. More...

## Public Member Functions

| DataFilters ()
Size | size () const
| Filter count. More...
const DataFilter & | operator[] (Size index) const
| Filter accessor. More...
void | add (const DataFilter &filter)
| Adds a filter. More...
void | remove (Size index)
| Removes the filter corresponding to `index`. More...
void | replace (Size index, const DataFilter &filter)
| Replaces the filter corresponding to `index`. More...
void | clear ()
| Removes all filters. More...
void | setActive (bool is_active)
| Enables/disables the all the filters. More...
bool | isActive () const
| Returns if the filters are enabled. More...
bool | passes (const Feature &feature) const
| Returns if the `feature` fulfills the current filter criteria. More...
bool | passes (const ConsensusFeature &consensus_feature) const
| Returns if the `consensus_feature` fulfills the current filter criteria. More...
bool | passes (const MSSpectrum &spectrum, Size peak_index) const
| Returns if the `peak` fulfills the current filter criteria. More...

## Protected Member Functions

bool | metaPasses_ (const MetaInfoInterface &meta_interface, const DataFilters::DataFilter &filter, Size index) const
| Returns if the meta value at `index` of `meta_interface` (a peak or feature) passes the `filter`. More...

## Protected Attributes

std::vector< DataFilter > | filters_
| Array of DataFilters. More...
std::vector< Size > | meta_indices_
| Vector of meta indices acting as index cache. More...
bool | is_active_
| Determines if the filters are activated. More...

## Detailed Description

DataFilter array providing some convenience functions.

Note
  For features the meta data filtering works on the MetaDataInterface of the Feature. For peaks it works on the FloatDataArrays defined in MSSpectrum.

## Member Enumeration Documentation

## ◆ FilterOperation

enum FilterOperation

Filter operation.

Enumerator
GREATER_EQUAL | Greater than the value or equal to the value.
EQUAL | Equal to the value.
LESS_EQUAL | Less than the value or equal to the value.
EXISTS | Only for META_DATA filter type, tests if meta data exists.

## ◆ FilterType

enum FilterType

Information to filter.

Enumerator
INTENSITY | Filter the intensity value.
QUALITY | Filter the overall quality value.
CHARGE | Filter the charge value.
SIZE | Filter the number of subordinates/elements.
META_DATA | Filter meta data.

## Constructor & Destructor Documentation

## ◆ DataFilters()

DataFilters | ( |  | ) |

## Member Function Documentation

## ◆ add()

void add | ( | const DataFilter & | filter | ) |

Adds a filter.

Referenced by TOPPViewBase::addData(), and TOPPViewBase::filterContextMenu().

## ◆ clear()

void clear | ( |  | ) |

Removes all filters.

## ◆ isActive()

bool isActive | ( |  | ) | const

inline

Returns if the filters are enabled.

They are automatically enabled when a filter is added and automatically disabled when the last filter is removed

Referenced by TOPPViewBase::updateFilterBar().

## ◆ metaPasses_()

bool metaPasses_ | ( | const MetaInfoInterface & | meta_interface,
|  | const DataFilters::DataFilter & | filter,
|  | Size | index
| ) |  | const

inline protected

Returns if the meta value at `index` of `meta_interface` (a peak or feature) passes the `filter`.

References DataValue::EMPTY_VALUE, MetaInfoInterface::getMetaValue(), MetaInfoInterface::metaValueExists(), DataFilters::DataFilter::op, DataValue::STRING_VALUE, DataValue::toString(), DataFilters::DataFilter::value, DataFilters::DataFilter::value_is_numerical, DataFilters::DataFilter::value_string, and DataValue::valueType().

## ◆ operator[]()

const DataFilter& operator[] | ( | Size | index | ) | const

Filter accessor.

Exceptions

  Exception::IndexOverflow | is thrown for invalid indices

## ◆ passes() [1/3]

bool passes | ( | const Feature & | feature | ) | const

Returns if the `feature` fulfills the current filter criteria.

## ◆ passes() [2/3]

bool passes | ( | const ConsensusFeature & | consensus_feature | ) | const

Returns if the `consensus_feature` fulfills the current filter criteria.

## ◆ passes() [3/3]

bool passes | ( | const MSSpectrum & | spectrum,
|  | Size | peak_index
| ) |  | const

inline

Returns if the `peak` fulfills the current filter criteria.

References DataFilters::DataFilter::field, MSSpectrum::getFloatDataArrays(), MSSpectrum::getIntegerDataArrays(), DataFilters::DataFilter::meta_name, DataFilters::DataFilter::op, and DataFilters::DataFilter::value.

## ◆ remove()

void remove | ( | Size | index | ) |

Removes the filter corresponding to `index`.

Exceptions

  Exception::IndexOverflow | is thrown for invalid indices

Referenced by TOPPViewBase::filterContextMenu().

## ◆ replace()

void replace | ( | Size | index,
|  | const DataFilter & | filter
| ) |  |

Replaces the filter corresponding to `index`.

Exceptions

  Exception::IndexOverflow | is thrown for invalid indices

Referenced by TOPPViewBase::filterEdit().

## ◆ setActive()

void setActive | ( | bool | is_active | ) |

Enables/disables the all the filters.

## ◆ size()

Size size | ( |  | ) | const

Filter count.

Referenced by TOPPViewBase::updateFilterBar().

## Member Data Documentation

## ◆ filters_

std::vector<DataFilter> filters_

protected

Array of DataFilters.

## ◆ is_active_

bool is_active_

protected

Determines if the filters are activated.

## ◆ meta_indices_

std::vector<Size> meta_indices_

protected

Vector of meta indices acting as index cache.