本文整理汇总了C++中Feature::getConvexHulls方法的典型用法代码示例。如果您正苦于以下问题:C++ Feature::getConvexHulls方法的具体用法?C++ Feature::getConvexHulls怎么用?C++ Feature::getConvexHulls使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Feature
的用法示例。
在下文中一共展示了Feature::getConvexHulls方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: applyToFeature_
void MapAlignmentTransformer::applyToFeature_(Feature & feature,
const TransformationDescription & trafo)
{
applyToBaseFeature_(feature, trafo);
// loop over all convex hulls
vector<ConvexHull2D> & convex_hulls = feature.getConvexHulls();
for (vector<ConvexHull2D>::iterator chiter = convex_hulls.begin();
chiter != convex_hulls.end(); ++chiter)
{
// transform all hull point positions within convex hull
ConvexHull2D::PointArrayType points = chiter->getHullPoints();
chiter->clear();
for (ConvexHull2D::PointArrayType::iterator points_iter = points.begin();
points_iter != points.end();
++points_iter
)
{
DoubleReal rt = (*points_iter)[Feature::RT];
(*points_iter)[Feature::RT] = trafo.apply(rt);
}
chiter->setHullPoints(points);
}
// recurse into subordinates
for (vector<Feature>::iterator subiter = feature.getSubordinates().begin();
subiter != feature.getSubordinates().end();
++subiter)
{
applyToFeature_(*subiter, trafo);
}
}
示例2: elutionModelFit
END_SECTION
START_SECTION( double elutionModelFit(ConvexHull2D::PointArrayType current_section, bool smooth_data) )
{
// test a single feature
double elution_model_fit_score;
EmgScoring emgscore;
MRMFeature feature = OpenSWATH_Test::createMockFeature();
Feature f = feature.getFeature("tr1");
elution_model_fit_score = emgscore.elutionModelFit(f.getConvexHulls()[0].getHullPoints() , false);
TEST_REAL_SIMILAR(elution_model_fit_score, 0.981013417243958)
}
示例3: overlaps_
bool overlaps_(const Feature& feature, const double rt, const double pc_mz, const double rt_tolerance) const
{
if (feature.getConvexHulls().empty())
{
LOG_WARN << "HighResPrecursorMassCorrector warning: at least one feature has no convex hull - omitting feature for matching" << std::endl;
}
// get bounding box and extend by retention time tolerance
DBoundingBox<2> box = feature.getConvexHull().getBoundingBox();
DPosition<2> extend_rt(rt_tolerance, 0.01);
box.setMin(box.minPosition() - extend_rt);
box.setMax(box.maxPosition() + extend_rt);
DPosition<2> pc_pos(rt, pc_mz);
if (box.encloses(pc_pos))
{
return true;
}
else
{
return false;
}
}
示例4: main_
//.........这里部分代码省略.........
{
ConsensusMap consensus_map;
StringList ms_runs;
ms_peakmap.getPrimaryMSRunPath(ms_runs);
consensus_map.setPrimaryMSRunPath(ms_runs);
for (Size i = 0; i < m_traces_final.size(); ++i)
{
if (m_traces_final[i].getSize() == 0) continue;
ConsensusFeature fcons;
int k = 0;
for (MassTrace::const_iterator it = m_traces_final[i].begin(); it != m_traces_final[i].end(); ++it)
{
FeatureHandle fhandle;
fhandle.setRT(it->getRT());
fhandle.setMZ(it->getMZ());
fhandle.setIntensity(it->getIntensity());
fhandle.setUniqueId(++k);
fcons.insert(fhandle);
}
fcons.setMetaValue(3, m_traces_final[i].getLabel());
fcons.setCharge(0);
fcons.setWidth(m_traces_final[i].estimateFWHM(use_epd));
fcons.setQuality(1 - (1.0 / m_traces_final[i].getSize()));
fcons.setRT(m_traces_final[i].getCentroidRT());
fcons.setMZ(m_traces_final[i].getCentroidMZ());
fcons.setIntensity(m_traces_final[i].getIntensity(false));
consensus_map.push_back(fcons);
}
consensus_map.applyMemberFunction(&UniqueIdInterface::setUniqueId);
addDataProcessing_(consensus_map, getProcessingInfo_(DataProcessing::QUANTITATION));
consensus_map.setUniqueId();
ConsensusXMLFile().store(out, consensus_map);
}
else //(out_type == FileTypes::FEATUREXML)
{
//-----------------------------------------------------------
// convert mass traces to features
//-----------------------------------------------------------
std::vector<double> stats_sd;
FeatureMap ms_feat_map;
StringList ms_runs;
ms_peakmap.getPrimaryMSRunPath(ms_runs);
ms_feat_map.setPrimaryMSRunPath(ms_runs);
for (Size i = 0; i < m_traces_final.size(); ++i)
{
if (m_traces_final[i].getSize() == 0) continue;
m_traces_final[i].updateMeanMZ();
m_traces_final[i].updateWeightedMZsd();
Feature f;
f.setMetaValue(3, m_traces_final[i].getLabel());
f.setCharge(0);
f.setMZ(m_traces_final[i].getCentroidMZ());
f.setIntensity(m_traces_final[i].getIntensity(false));
f.setRT(m_traces_final[i].getCentroidRT());
f.setWidth(m_traces_final[i].estimateFWHM(use_epd));
f.setOverallQuality(1 - (1.0 / m_traces_final[i].getSize()));
f.getConvexHulls().push_back(m_traces_final[i].getConvexhull());
double sd = m_traces_final[i].getCentroidSD();
f.setMetaValue("SD", sd);
f.setMetaValue("SD_ppm", sd / f.getMZ() * 1e6);
if (m_traces_final[i].fwhm_mz_avg > 0) f.setMetaValue("FWHM_mz_avg", m_traces_final[i].fwhm_mz_avg);
stats_sd.push_back(m_traces_final[i].getCentroidSD());
ms_feat_map.push_back(f);
}
// print some stats about standard deviation of mass traces
if (stats_sd.size() > 0)
{
std::sort(stats_sd.begin(), stats_sd.end());
LOG_INFO << "Mass trace m/z s.d.\n"
<< " low quartile: " << stats_sd[stats_sd.size() * 1 / 4] << "\n"
<< " median: " << stats_sd[stats_sd.size() * 1 / 2] << "\n"
<< " upp quartile: " << stats_sd[stats_sd.size() * 3 / 4] << std::endl;
}
ms_feat_map.applyMemberFunction(&UniqueIdInterface::setUniqueId);
//-------------------------------------------------------------
// writing output
//-------------------------------------------------------------
// annotate output with data processing info TODO
addDataProcessing_(ms_feat_map, getProcessingInfo_(DataProcessing::QUANTITATION));
//ms_feat_map.setUniqueId();
FeatureXMLFile().store(out, ms_feat_map);
}
return EXECUTION_OK;
}
示例5: hulls
p.setQuality( 1, (QualityType)0.0);
TEST_REAL_SIMILAR(p.getQuality(0), 0.0)
TEST_REAL_SIMILAR(p.getQuality(1), 0.0)
TEST_PRECONDITION_VIOLATED(p.setQuality( 10, (QualityType)1.0))
END_SECTION
//do not change these datastructures, they are used in the following tests...
std::vector< ConvexHull2D > hulls(2);
hulls[0].addPoint(DPosition<2>(1.0,2.0));
hulls[0].addPoint(DPosition<2>(3.0,4.0));
hulls[1].addPoint(DPosition<2>(0.5,0.0));
hulls[1].addPoint(DPosition<2>(1.0,1.0));
START_SECTION((const vector<ConvexHull2D>& getConvexHulls() const))
Feature tmp;
TEST_EQUAL(tmp.getConvexHulls().size(),0)
END_SECTION
START_SECTION((vector<ConvexHull2D>& getConvexHulls()))
Feature tmp;
tmp.setConvexHulls(hulls);
TEST_EQUAL(tmp.getConvexHulls().size(),2)
TEST_REAL_SIMILAR(tmp.getConvexHulls()[0].getHullPoints()[0][0],1.0)
TEST_REAL_SIMILAR(tmp.getConvexHulls()[0].getHullPoints()[0][1],2.0)
TEST_REAL_SIMILAR(tmp.getConvexHulls()[0].getHullPoints()[1][0],3.0)
TEST_REAL_SIMILAR(tmp.getConvexHulls()[0].getHullPoints()[1][1],4.0)
TEST_REAL_SIMILAR(tmp.getConvexHulls()[1].getHullPoints()[0][0],0.5)
TEST_REAL_SIMILAR(tmp.getConvexHulls()[1].getHullPoints()[0][1],0.0)
TEST_REAL_SIMILAR(tmp.getConvexHulls()[1].getHullPoints()[1][0],1.0)
TEST_REAL_SIMILAR(tmp.getConvexHulls()[1].getHullPoints()[1][1],1.0)
END_SECTION
注:本文中的Feature::getConvexHulls方法示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。