mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
(#595) Do not perform value filtering for LAS curves
This commit is contained in:
parent
09a2579c49
commit
4a6e156a68
@ -247,7 +247,7 @@ void RimWellLogExtractionCurve::updatePlotData()
|
|||||||
{
|
{
|
||||||
if (!tvDepthValues.size())
|
if (!tvDepthValues.size())
|
||||||
{
|
{
|
||||||
m_curveData->setValuesAndMD(values, measuredDepthValues);
|
m_curveData->setValuesAndMD(values, measuredDepthValues, true);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -86,7 +86,7 @@ void RimWellLogFileCurve::updatePlotData()
|
|||||||
|
|
||||||
if (values.size() == depthValues.size())
|
if (values.size() == depthValues.size())
|
||||||
{
|
{
|
||||||
m_curveData->setValuesAndMD(values, depthValues);
|
m_curveData->setValuesAndMD(values, depthValues, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -29,6 +29,7 @@
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
RigWellLogCurveData::RigWellLogCurveData()
|
RigWellLogCurveData::RigWellLogCurveData()
|
||||||
{
|
{
|
||||||
|
m_useValueFiltering = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@ -42,7 +43,8 @@ RigWellLogCurveData::~RigWellLogCurveData()
|
|||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
void RigWellLogCurveData::setValuesAndMD(const std::vector<double>& xValues,
|
void RigWellLogCurveData::setValuesAndMD(const std::vector<double>& xValues,
|
||||||
const std::vector<double>& measuredDepths)
|
const std::vector<double>& measuredDepths,
|
||||||
|
bool useValueFiltering)
|
||||||
{
|
{
|
||||||
CVF_ASSERT(xValues.size() == measuredDepths.size());
|
CVF_ASSERT(xValues.size() == measuredDepths.size());
|
||||||
|
|
||||||
@ -50,7 +52,13 @@ void RigWellLogCurveData::setValuesAndMD(const std::vector<double>& xValues,
|
|||||||
m_measuredDepths = measuredDepths;
|
m_measuredDepths = measuredDepths;
|
||||||
m_tvDepths.clear();
|
m_tvDepths.clear();
|
||||||
|
|
||||||
|
// Disable value filtering for curves coming from LAS files
|
||||||
|
m_useValueFiltering = useValueFiltering;
|
||||||
|
|
||||||
|
if (m_useValueFiltering)
|
||||||
|
{
|
||||||
calculateIntervalsOfContinousValidValues();
|
calculateIntervalsOfContinousValidValues();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@ -66,6 +74,9 @@ void RigWellLogCurveData::setValuesWithTVD(const std::vector<double>& xValues,
|
|||||||
m_measuredDepths = measuredDepths;
|
m_measuredDepths = measuredDepths;
|
||||||
m_tvDepths = tvDepths;
|
m_tvDepths = tvDepths;
|
||||||
|
|
||||||
|
// Always use value filtering when TVD is present
|
||||||
|
m_useValueFiltering = true;
|
||||||
|
|
||||||
calculateIntervalsOfContinousValidValues();
|
calculateIntervalsOfContinousValidValues();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -91,10 +102,17 @@ const std::vector<double>& RigWellLogCurveData::measuredDepths() const
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
std::vector<double> RigWellLogCurveData::xPlotValues() const
|
std::vector<double> RigWellLogCurveData::xPlotValues() const
|
||||||
{
|
{
|
||||||
|
if (m_useValueFiltering)
|
||||||
|
{
|
||||||
std::vector<double> filteredValues;
|
std::vector<double> filteredValues;
|
||||||
getValuesByIntervals(m_xValues, m_intervalsOfContinousValidValues, &filteredValues);
|
getValuesByIntervals(m_xValues, m_intervalsOfContinousValidValues, &filteredValues);
|
||||||
|
|
||||||
return filteredValues;
|
return filteredValues;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return m_xValues;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@ -102,6 +120,8 @@ std::vector<double> RigWellLogCurveData::xPlotValues() const
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
std::vector<double> RigWellLogCurveData::depthPlotValues() const
|
std::vector<double> RigWellLogCurveData::depthPlotValues() const
|
||||||
{
|
{
|
||||||
|
if (m_useValueFiltering)
|
||||||
|
{
|
||||||
std::vector<double> filteredValues;
|
std::vector<double> filteredValues;
|
||||||
if (m_tvDepths.size())
|
if (m_tvDepths.size())
|
||||||
{
|
{
|
||||||
@ -113,6 +133,18 @@ std::vector<double> RigWellLogCurveData::depthPlotValues() const
|
|||||||
}
|
}
|
||||||
|
|
||||||
return filteredValues;
|
return filteredValues;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (m_tvDepths.size())
|
||||||
|
{
|
||||||
|
return m_tvDepths;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return m_measuredDepths;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
@ -132,6 +164,8 @@ std::vector< std::pair<size_t, size_t> > RigWellLogCurveData::polylineStartStopI
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
void RigWellLogCurveData::calculateIntervalsOfContinousValidValues()
|
void RigWellLogCurveData::calculateIntervalsOfContinousValidValues()
|
||||||
{
|
{
|
||||||
|
CVF_ASSERT(m_useValueFiltering);
|
||||||
|
|
||||||
std::vector< std::pair<size_t, size_t> > intervalsOfValidValues;
|
std::vector< std::pair<size_t, size_t> > intervalsOfValidValues;
|
||||||
calculateIntervalsOfValidValues(m_xValues, &intervalsOfValidValues);
|
calculateIntervalsOfValidValues(m_xValues, &intervalsOfValidValues);
|
||||||
|
|
||||||
|
@ -36,7 +36,8 @@ public:
|
|||||||
virtual ~RigWellLogCurveData();
|
virtual ~RigWellLogCurveData();
|
||||||
|
|
||||||
void setValuesAndMD(const std::vector<double>& xValues,
|
void setValuesAndMD(const std::vector<double>& xValues,
|
||||||
const std::vector<double>& measuredDepths);
|
const std::vector<double>& measuredDepths,
|
||||||
|
bool useValueFiltering);
|
||||||
void setValuesWithTVD(const std::vector<double>& xValues,
|
void setValuesWithTVD(const std::vector<double>& xValues,
|
||||||
const std::vector<double>& measuredDepths,
|
const std::vector<double>& measuredDepths,
|
||||||
const std::vector<double>& tvDepths );
|
const std::vector<double>& tvDepths );
|
||||||
@ -68,6 +69,7 @@ private:
|
|||||||
std::vector<double> m_xValues;
|
std::vector<double> m_xValues;
|
||||||
std::vector<double> m_measuredDepths;
|
std::vector<double> m_measuredDepths;
|
||||||
std::vector<double> m_tvDepths;
|
std::vector<double> m_tvDepths;
|
||||||
|
bool m_useValueFiltering;
|
||||||
|
|
||||||
std::vector< std::pair<size_t, size_t> > m_intervalsOfContinousValidValues;
|
std::vector< std::pair<size_t, size_t> > m_intervalsOfContinousValidValues;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user