Add basic support for calculating and showing seismic difference (#10377)

* Add basic support for calculating and showing seismic difference
This commit is contained in:
jonjenssen
2023-06-12 11:56:48 +02:00
committed by GitHub
parent 91762aaeb1
commit 803b67506a
25 changed files with 1352 additions and 243 deletions

View File

@@ -249,15 +249,24 @@ void RifOpenVDSReader::histogramData( std::vector<double>& xvals, std::vector<do
auto accessManager = OpenVDS::GetAccessManager( m_handle );
auto request = accessManager.RequestVolumeSubset<float>( buffer.data(),
buffer.size() * sizeof( float ),
OpenVDS::Dimensions_012,
0,
m_dataChannelToUse,
voxelMin,
voxelMax );
bool success = false;
try
{
auto request = accessManager.RequestVolumeSubset<float>( buffer.data(),
buffer.size() * sizeof( float ),
OpenVDS::Dimensions_012,
0,
m_dataChannelToUse,
voxelMin,
voxelMax );
success = request->WaitForCompletion();
}
catch ( const std::exception& )
{
}
bool success = request->WaitForCompletion();
if ( success )
{
auto chanDesc = m_layout->GetChannelDescriptor( m_dataChannelToUse );
@@ -460,15 +469,24 @@ std::shared_ptr<ZGYAccess::SeismicSliceData>
auto accessManager = OpenVDS::GetAccessManager( m_handle );
auto request = accessManager.RequestVolumeSubset<float>( retData->values(),
totalSize * sizeof( float ),
OpenVDS::Dimensions_012,
0,
m_dataChannelToUse,
voxelMin,
voxelMax );
bool success = false;
try
{
auto request = accessManager.RequestVolumeSubset<float>( retData->values(),
totalSize * sizeof( float ),
OpenVDS::Dimensions_012,
0,
m_dataChannelToUse,
voxelMin,
voxelMax );
success = request->WaitForCompletion();
}
catch ( const std::exception& )
{
}
bool success = request->WaitForCompletion();
if ( !success ) retData.reset();
return retData;
@@ -503,15 +521,24 @@ std::shared_ptr<ZGYAccess::SeismicSliceData> RifOpenVDSReader::trace( int inline
auto accessManager = OpenVDS::GetAccessManager( m_handle );
auto request = accessManager.RequestVolumeSubset<float>( retData->values(),
zSize * sizeof( float ),
OpenVDS::Dimensions_012,
0,
m_dataChannelToUse,
voxelMin,
voxelMax );
bool success = false;
try
{
auto request = accessManager.RequestVolumeSubset<float>( retData->values(),
zSize * sizeof( float ),
OpenVDS::Dimensions_012,
0,
m_dataChannelToUse,
voxelMin,
voxelMax );
success = request->WaitForCompletion();
}
catch ( const std::exception& )
{
}
bool success = request->WaitForCompletion();
if ( !success ) retData.reset();
return retData;