libpappsomspp
Library for mass spectrometry
Loading...
Searching...
No Matches
pappso::TimsFrameMobilityTraces Class Reference

#include <timsframemobilitytraces.h>

Public Member Functions

 TimsFrameMobilityTraces ()
 
 TimsFrameMobilityTraces (const TimsFrameMobilityTraces &other)
 
 ~TimsFrameMobilityTraces ()
 
void extractMobilityTraces (pappso::TimsFrameCstSPtr timsframe_sptr, std::size_t ion_mob_begin, std::size_t ion_mob_end, std::size_t max_traces)
 
const std::vector< pappso::TraceCstSPtr > & getIonMobTraceList () const
 
const std::vector< std::size_t > & getTofIndexList () const
 
const std::vector< std::size_t > & getScanIndexList () const
 
const std::vector< double > getMzList () const
 

Private Attributes

pappso::TimsFrameCstSPtr mcsp_timsFrameCstSPtr
 
std::vector< pappso::TraceCstSPtrm_ionMobTraceList
 
std::vector< std::size_t > m_tofIndexList
 
std::vector< std::size_t > m_scanIndexList
 

Detailed Description

Todo:
write docs

Definition at line 38 of file timsframemobilitytraces.h.

Constructor & Destructor Documentation

◆ TimsFrameMobilityTraces() [1/2]

pappso::TimsFrameMobilityTraces::TimsFrameMobilityTraces ( )

Default constructor

Definition at line 34 of file timsframemobilitytraces.cpp.

35{
36}

◆ TimsFrameMobilityTraces() [2/2]

pappso::TimsFrameMobilityTraces::TimsFrameMobilityTraces ( const TimsFrameMobilityTraces other)

Copy constructor

Parameters
otherTODO

Definition at line 38 of file timsframemobilitytraces.cpp.

40{
41}

◆ ~TimsFrameMobilityTraces()

pappso::TimsFrameMobilityTraces::~TimsFrameMobilityTraces ( )

Destructor

Definition at line 43 of file timsframemobilitytraces.cpp.

44{
45}

Member Function Documentation

◆ extractMobilityTraces()

void pappso::TimsFrameMobilityTraces::extractMobilityTraces ( pappso::TimsFrameCstSPtr  timsframe_sptr,
std::size_t  ion_mob_begin,
std::size_t  ion_mob_end,
std::size_t  max_traces 
)

Definition at line 47 of file timsframemobilitytraces.cpp.

52{
53 m_tofIndexList.clear();
54 m_ionMobTraceList.clear();
55 m_scanIndexList.clear();
56 mcsp_timsFrameCstSPtr = timsframe_sptr;
57
58 pappso::TimsDataFastMap raw_spectrum =
60 timsframe_sptr.get()->combineScansInTofIndexIntensityMap(
61 raw_spectrum, scan_index_begin, scan_index_end);
62
63 pappso::Trace total_spectrum;
64
65 for(auto index : raw_spectrum.getTofIndexList())
66 {
67
68 total_spectrum.push_back(
69 {(double)index, (double)raw_spectrum.readIntensity(index)});
70 }
71 total_spectrum.sortY(SortOrder::descending);
72
73 qDebug() << total_spectrum.size();
74
76
77 for(std::size_t i = scan_index_begin; i < (scan_index_end + 1); i++)
78 {
79 m_scanIndexList.push_back(i);
80 }
81
82 for(auto &datapoint : total_spectrum)
83 {
84 pappso::Trace trace(
85 timsframe_sptr.get()->getIonMobilityTraceByTofIndexRange(
86 datapoint.x - 1,
87 datapoint.x + 1,
89 scan_index_begin,
90 scan_index_end));
91
92 m_ionMobTraceList.push_back(trace.makeTraceSPtr());
93 m_tofIndexList.push_back(datapoint.x);
94 if(m_ionMobTraceList.size() >= max_traces)
95 break;
96 }
97 qDebug();
98}
replacement for std::map
std::size_t readIntensity(quint32)
reads intensity for a tof_index
static TimsDataFastMap & getTimsDataFastMapInstance()
pappso::TimsFrameCstSPtr mcsp_timsFrameCstSPtr
std::vector< std::size_t > m_tofIndexList
std::vector< pappso::TraceCstSPtr > m_ionMobTraceList
std::vector< std::size_t > m_scanIndexList
const std::vector< std::size_t > & getTofIndexList() const
A simple container of DataPoint instances.
Definition trace.h:148
void sortY(SortOrder sort_order=SortOrder::ascending)
Definition trace.cpp:1100
@ sum
sum of intensities

References pappso::descending, pappso::TimsDataFastMap::getTimsDataFastMapInstance(), pappso::TimsDataFastMap::getTofIndexList(), m_ionMobTraceList, m_scanIndexList, m_tofIndexList, pappso::Trace::makeTraceSPtr(), mcsp_timsFrameCstSPtr, pappso::TimsDataFastMap::readIntensity(), pappso::Trace::sortY(), and pappso::sum.

◆ getIonMobTraceList()

const std::vector< pappso::TraceCstSPtr > & pappso::TimsFrameMobilityTraces::getIonMobTraceList ( ) const

Definition at line 101 of file timsframemobilitytraces.cpp.

102{
103 return m_ionMobTraceList;
104}

References m_ionMobTraceList.

◆ getMzList()

const std::vector< double > pappso::TimsFrameMobilityTraces::getMzList ( ) const

Definition at line 111 of file timsframemobilitytraces.cpp.

112{
113 MzCalibrationInterface *mz_calibration_p =
114 mcsp_timsFrameCstSPtr.get()->getMzCalibrationInterfaceSPtr().get();
115 if(mz_calibration_p == nullptr)
116 {
118 QObject::tr("mz calibration pointer not found"));
119 }
120 std::vector<double> mz_list;
121 for(std::size_t tof : m_tofIndexList)
122 {
123 mz_list.push_back(mz_calibration_p->getMzFromTofIndex((quint32)tof));
124 }
125 return mz_list;
126}

References pappso::MzCalibrationInterface::getMzFromTofIndex(), m_tofIndexList, and mcsp_timsFrameCstSPtr.

◆ getScanIndexList()

const std::vector< std::size_t > & pappso::TimsFrameMobilityTraces::getScanIndexList ( ) const

Definition at line 128 of file timsframemobilitytraces.cpp.

129{
130 return m_scanIndexList;
131}

References m_scanIndexList.

◆ getTofIndexList()

const std::vector< std::size_t > & pappso::TimsFrameMobilityTraces::getTofIndexList ( ) const

Definition at line 106 of file timsframemobilitytraces.cpp.

107{
108 return m_tofIndexList;
109}

References m_tofIndexList.

Member Data Documentation

◆ m_ionMobTraceList

std::vector<pappso::TraceCstSPtr> pappso::TimsFrameMobilityTraces::m_ionMobTraceList
private

Definition at line 71 of file timsframemobilitytraces.h.

Referenced by extractMobilityTraces(), and getIonMobTraceList().

◆ m_scanIndexList

std::vector<std::size_t> pappso::TimsFrameMobilityTraces::m_scanIndexList
private

Definition at line 73 of file timsframemobilitytraces.h.

Referenced by extractMobilityTraces(), and getScanIndexList().

◆ m_tofIndexList

std::vector<std::size_t> pappso::TimsFrameMobilityTraces::m_tofIndexList
private

Definition at line 72 of file timsframemobilitytraces.h.

Referenced by extractMobilityTraces(), getMzList(), and getTofIndexList().

◆ mcsp_timsFrameCstSPtr

pappso::TimsFrameCstSPtr pappso::TimsFrameMobilityTraces::mcsp_timsFrameCstSPtr
private

Definition at line 69 of file timsframemobilitytraces.h.

Referenced by extractMobilityTraces(), and getMzList().


The documentation for this class was generated from the following files: