SEGYImport lod generation
Can't find any suitable example of LOD generation while preparing vds file (for example from segy) or LOD usage for already existed vds
file.
By logic - I changed next lines for SEGYImport:
OpenVDS::VolumeDataLayoutDescriptor::LODLevels lodLevels = OpenVDS::VolumeDataLayoutDescriptor::LODLevels_1; // 1-2-3-12 it doesn't matter
// Iterate over new possible lod
for (int lod{0}; lod <= layoutDescriptor.GetLODLevels(); ++lod)
{
auto amplitudeAccessor = accessManager.CreateVolumeDataPageAccessor(writeDimensionGroup, lod, 0, 8, OpenVDS::VolumeDataAccessManager::AccessMode_Create);
auto traceFlagAccessor = accessManager.CreateVolumeDataPageAccessor(writeDimensionGroup, lod, 1, 8, OpenVDS::VolumeDataAccessManager::AccessMode_Create);
auto segyTraceHeaderAccessor = accessManager.CreateVolumeDataPageAccessor(writeDimensionGroup, lod, 2, 8, OpenVDS::VolumeDataAccessManager::AccessMode_Create);
auto offsetAccessor = fileInfo.HasGatherOffset() ? accessManager.CreateVolumeDataPageAccessor(writeDimensionGroup, lod, offsetChannelIndex, 8, OpenVDS::VolumeDataAccessManager::AccessMode_Create) : nullptr;
auto azimuthAccessor = isAzimuth ? accessManager.CreateVolumeDataPageAccessor(writeDimensionGroup, lod, azimuthChannelIndex, 8, OpenVDS::VolumeDataAccessManager::AccessMode_Create) : nullptr;
auto muteAccessor = isMutes ? accessManager.CreateVolumeDataPageAccessor(writeDimensionGroup, lod, muteChannelIndex, 8, OpenVDS::VolumeDataAccessManager::AccessMode_Create) : nullptr;
...
}
For LOD = 0
:
- segyTraceHeaderPitch 0x0000006e8751c178 {1, 240, 15360, 0, 0, 0} int[6]
[0] 1 int
[1] 240 int
[2] 15360 int
[3] 0 int
[4] 0 int
[5] 0 int
assert(!segyTraceHeaderBuffer || segyTraceHeaderPitch[fileInfo.IsOffsetSorted() ? 2 : 1] == SEGY::TraceHeaderSize);
TraceHeaderSize == segyTraceHeaderPitch[1] == 240 - OK
Next, use LOD = 1
:
- segyTraceHeaderPitch 0x0000006e8751c178 {1, 120, 7680, 0, 0, 0} int[6]
[0] 1 int
[1] 120 int
[2] 7680 int
[3] 0 int
[4] 0 int
[5] 0 int
assert on line, because segyTraceHeaderPitch
divided by factor 2?
Can you add small code snippet, how to use LOD with vds? It is really working feature?