Python API
- openvds.open(*args, **kwargs)
Overloaded function.
open(url: str, connectionString: str, error: OpenVDS::VDSError) -> openvds.core.VDS
Open an existing VDS
Parameters:
- url :
The url scheme specific to each cloud provider Available schemes are s3:// azure://
- connectionString :
The cloud provider specific connection string Specifies additional arguments for the cloud provider
- error :
If an error occured, the error code and message will be written to this output parameter
Returns:
The VDS handle that can be used to get the VolumeDataLayout and the VolumeDataAccessManager
open(url: str, connectionString: str) -> openvds.core.VDS
open(url: str, error: OpenVDS::VDSError) -> openvds.core.VDS
Open an existing VDS. This is a simple wrapper that uses an empty connectionString
Parameters:
- url :
The url scheme specific to each cloud provider Available schemes are s3:// azure://
- error :
If an error occured, the error code and message will be written to this output parameter
Returns:
The VDS handle that can be used to get the VolumeDataLayout and the VolumeDataAccessManager
open(url: str) -> openvds.core.VDS
open(options: openvds.core.OpenOptions, error: OpenVDS::VDSError) -> openvds.core.VDS
Open an existing VDS
Parameters:
- options :
The options for the connection
- error :
If an error occured, the error code and message will be written to this output parameter
Returns:
The VDS handle that can be used to get the VolumeDataLayout and the VolumeDataAccessManager
open(options: openvds.core.OpenOptions) -> openvds.core.VDS
open(ioManager: openvds.core.IOManager, error: OpenVDS::VDSError) -> openvds.core.VDS
Open an existing VDS
Parameters:
- ioManager :
The IOManager for the connection, it will be deleted automatically when the VDS handle is closed
- error :
If an error occured, the error code and message will be written to this output parameter
Returns:
The VDS handle that can be used to get the VolumeDataLayout and the VolumeDataAccessManager
open(ioManager: openvds.core.IOManager) -> openvds.core.VDS
open(ioManager: openvds.core.IOManager, logLevel: OpenVDS::LogLevel, error: OpenVDS::VDSError) -> openvds.core.VDS
Open an existing VDS
Parameters:
- ioManager :
The IOManager for the connection, it will be deleted automatically when the VDS handle is closed
- logLevel :
The logging threshold
- error :
If an error occured, the error code and message will be written to this output parameter
Returns:
The VDS handle that can be used to get the VolumeDataLayout and the VolumeDataAccessManager
open(ioManager: openvds.core.IOManager, logLevel: OpenVDS::LogLevel) -> openvds.core.VDS
- openvds.openWithAdaptiveCompressionTolerance(*args, **kwargs)
Overloaded function.
openWithAdaptiveCompressionTolerance(url: str, connectionString: str, waveletAdaptiveTolerance: float, error: OpenVDS::VDSError) -> openvds.core.VDS
Open an existing VDS with adaptive compression tolerance.
Parameters:
- url :
The url scheme specific to each cloud provider Available schemes are s3:// azure://
- connectionString :
The cloud provider specific connection string Specifies additional arguments for the cloud provider
- waveletAdaptiveTolerance :
Wavelet adaptive tolerance. This will try to read the dataset as- if it was compressed with the given tolerance even if it was compressed with a lower tolerance or lossless.
- error :
If an error occured, the error code and message will be written to this output parameter
Returns:
The VDS handle that can be used to get the VolumeDataLayout and the VolumeDataAccessManager
openWithAdaptiveCompressionTolerance(url: str, connectionString: str, waveletAdaptiveTolerance: float) -> openvds.core.VDS
- openvds.openWithAdaptiveCompressionRatio(*args, **kwargs)
Overloaded function.
openWithAdaptiveCompressionRatio(url: str, connectionString: str, waveletAdaptiveRatio: float, error: OpenVDS::VDSError) -> openvds.core.VDS
Open an existing VDS with adaptive compression ratio.
Parameters:
- url :
The url scheme specific to each cloud provider Available schemes are s3:// azure://
- connectionString :
The cloud provider specific connection string Specifies additional arguments for the cloud provider
- waveletAdaptiveRatio :
Wavelet adaptive ratio. This will try to read the dataset as-if it was compressed with the given ratio even if it was compressed with a lower ratio or lossless. A compression ratio of 5.0 corresponds to compressed data which is 20% of the original.
- error :
If an error occured, the error code and message will be written to this output parameter
Returns:
The VDS handle that can be used to get the VolumeDataLayout and the VolumeDataAccessManager
openWithAdaptiveCompressionRatio(url: str, connectionString: str, waveletAdaptiveRatio: float) -> openvds.core.VDS
- openvds.create(*args, **kwargs)
Overloaded function.
create(url: str, connectionString: str, layoutDescriptor: OpenVDS::VolumeDataLayoutDescriptor, axisDescriptors: List[OpenVDS::VolumeDataAxisDescriptor], channelDescriptors: List[OpenVDS::VolumeDataChannelDescriptor], metadata: OpenVDS::MetadataReadAccess, compressionMethod: OpenVDS::CompressionMethod, compressionTolerance: float, error: OpenVDS::VDSError) -> openvds.core.VDS
Create a new VDS.
Parameters:
- url :
The url scheme specific to each cloud provider Available schemes are s3:// azure://
- connectionString :
The cloud provider specific connection string Specifies additional arguments for the cloud provider
- compressionMethod :
The overall compression method to be used for the VDS. The channel descriptors can have additional options to control how a channel is compressed.
- compressionTolerance :
This property specifies the compression tolerance [1..255] when using the wavelet compression method. This value is the maximum deviation from the original data value when the data is converted to 8-bit using the value range. A value of 1 means the maximum allowable loss is the same as quantizing to 8-bit (but the average loss will be much much lower than quantizing to 8-bit). It is not a good idea to directly relate the tolerance to the quality of the compressed data, as the average loss will in general be an order of magnitude lower than the allowable loss.
- error :
If an error occured, the error code and message will be written to this output parameter
Returns:
The VDS handle that can be used to get the VolumeDataLayout and the VolumeDataAccessManager
create(url: str, connectionString: str, layoutDescriptor: OpenVDS::VolumeDataLayoutDescriptor, axisDescriptors: List[OpenVDS::VolumeDataAxisDescriptor], channelDescriptors: List[OpenVDS::VolumeDataChannelDescriptor], metadata: OpenVDS::MetadataReadAccess, compressionMethod: OpenVDS::CompressionMethod, compressionTolerance: float) -> openvds.core.VDS
create(url: str, connectionString: str, layoutDescriptor: OpenVDS::VolumeDataLayoutDescriptor, axisDescriptors: List[OpenVDS::VolumeDataAxisDescriptor], channelDescriptors: List[OpenVDS::VolumeDataChannelDescriptor], metadata: OpenVDS::MetadataReadAccess, error: OpenVDS::VDSError) -> openvds.core.VDS
Create a new VDS.
Parameters:
- url :
The url scheme specific to each cloud provider Available schemes are s3:// azure://
- connectionString :
The cloud provider specific connection string Specifies additional arguments for the cloud provider
- error :
If an error occured, the error code and message will be written to this output parameter
Returns:
The VDS handle that can be used to get the VolumeDataLayout and the VolumeDataAccessManager
create(url: str, connectionString: str, layoutDescriptor: OpenVDS::VolumeDataLayoutDescriptor, axisDescriptors: List[OpenVDS::VolumeDataAxisDescriptor], channelDescriptors: List[OpenVDS::VolumeDataChannelDescriptor], metadata: OpenVDS::MetadataReadAccess) -> openvds.core.VDS
create(url: str, layoutDescriptor: OpenVDS::VolumeDataLayoutDescriptor, axisDescriptors: List[OpenVDS::VolumeDataAxisDescriptor], channelDescriptors: List[OpenVDS::VolumeDataChannelDescriptor], metadata: OpenVDS::MetadataReadAccess, compressionMethod: OpenVDS::CompressionMethod, compressionTolerance: float, error: OpenVDS::VDSError) -> openvds.core.VDS
Create a new VDS. This is a simple wrapper that uses an empty connectionString
Parameters:
- url :
The url scheme specific to each cloud provider Available schemes are s3:// azure://
- compressionMethod :
The overall compression method to be used for the VDS. The channel descriptors can have additional options to control how a channel is compressed.
- compressionTolerance :
This property specifies the compression tolerance [1..255] when using the wavelet compression method. This value is the maximum deviation from the original data value when the data is converted to 8-bit using the value range. A value of 1 means the maximum allowable loss is the same as quantizing to 8-bit (but the average loss will be much much lower than quantizing to 8-bit). It is not a good idea to directly relate the tolerance to the quality of the compressed data, as the average loss will in general be an order of magnitude lower than the allowable loss.
- error :
If an error occured, the error code and message will be written to this output parameter
Returns:
The VDS handle that can be used to get the VolumeDataLayout and the VolumeDataAccessManager
create(url: str, layoutDescriptor: OpenVDS::VolumeDataLayoutDescriptor, axisDescriptors: List[OpenVDS::VolumeDataAxisDescriptor], channelDescriptors: List[OpenVDS::VolumeDataChannelDescriptor], metadata: OpenVDS::MetadataReadAccess, compressionMethod: OpenVDS::CompressionMethod, compressionTolerance: float) -> openvds.core.VDS
create(url: str, layoutDescriptor: OpenVDS::VolumeDataLayoutDescriptor, axisDescriptors: List[OpenVDS::VolumeDataAxisDescriptor], channelDescriptors: List[OpenVDS::VolumeDataChannelDescriptor], metadata: OpenVDS::MetadataReadAccess, error: OpenVDS::VDSError) -> openvds.core.VDS
Create a new VDS. This is a simple wrapper that uses an empty connectionString
Parameters:
- url :
The url scheme specific to each cloud provider Available schemes are s3:// azure://
- error :
If an error occured, the error code and message will be written to this output parameter
Returns:
The VDS handle that can be used to get the VolumeDataLayout and the VolumeDataAccessManager
create(url: str, layoutDescriptor: OpenVDS::VolumeDataLayoutDescriptor, axisDescriptors: List[OpenVDS::VolumeDataAxisDescriptor], channelDescriptors: List[OpenVDS::VolumeDataChannelDescriptor], metadata: OpenVDS::MetadataReadAccess) -> openvds.core.VDS
create(options: openvds.core.OpenOptions, layoutDescriptor: OpenVDS::VolumeDataLayoutDescriptor, axisDescriptors: List[OpenVDS::VolumeDataAxisDescriptor], channelDescriptors: List[OpenVDS::VolumeDataChannelDescriptor], metadata: OpenVDS::MetadataReadAccess, compressionMethod: OpenVDS::CompressionMethod, compressionTolerance: float, error: OpenVDS::VDSError) -> openvds.core.VDS
Create a new VDS.
Parameters:
- options :
The options for the connection
- compressionMethod :
The overall compression method to be used for the VDS. The channel descriptors can have additional options to control how a channel is compressed.
- compressionTolerance :
This property specifies the compression tolerance [1..255] when using the wavelet compression method. This value is the maximum deviation from the original data value when the data is converted to 8-bit using the value range. A value of 1 means the maximum allowable loss is the same as quantizing to 8-bit (but the average loss will be much much lower than quantizing to 8-bit). It is not a good idea to directly relate the tolerance to the quality of the compressed data, as the average loss will in general be an order of magnitude lower than the allowable loss.
- error :
If an error occured, the error code and message will be written to this output parameter
Returns:
The VDS handle that can be used to get the VolumeDataLayout and the VolumeDataAccessManager
create(options: openvds.core.OpenOptions, layoutDescriptor: OpenVDS::VolumeDataLayoutDescriptor, axisDescriptors: List[OpenVDS::VolumeDataAxisDescriptor], channelDescriptors: List[OpenVDS::VolumeDataChannelDescriptor], metadata: OpenVDS::MetadataReadAccess, compressionMethod: OpenVDS::CompressionMethod, compressionTolerance: float) -> openvds.core.VDS
create(options: openvds.core.OpenOptions, layoutDescriptor: OpenVDS::VolumeDataLayoutDescriptor, axisDescriptors: List[OpenVDS::VolumeDataAxisDescriptor], channelDescriptors: List[OpenVDS::VolumeDataChannelDescriptor], metadata: OpenVDS::MetadataReadAccess, error: OpenVDS::VDSError) -> openvds.core.VDS
Create a new VDS.
Parameters:
- options :
The options for the connection
- error :
If an error occured, the error code and message will be written to this output parameter
Returns:
The VDS handle that can be used to get the VolumeDataLayout and the VolumeDataAccessManager
create(options: openvds.core.OpenOptions, layoutDescriptor: OpenVDS::VolumeDataLayoutDescriptor, axisDescriptors: List[OpenVDS::VolumeDataAxisDescriptor], channelDescriptors: List[OpenVDS::VolumeDataChannelDescriptor], metadata: OpenVDS::MetadataReadAccess) -> openvds.core.VDS
create(ioManager: openvds.core.IOManager, layoutDescriptor: OpenVDS::VolumeDataLayoutDescriptor, axisDescriptors: List[OpenVDS::VolumeDataAxisDescriptor], channelDescriptors: List[OpenVDS::VolumeDataChannelDescriptor], metadata: OpenVDS::MetadataReadAccess, compressionMethod: OpenVDS::CompressionMethod, compressionTolerance: float, error: OpenVDS::VDSError) -> openvds.core.VDS
Create a new VDS.
Parameters:
- ioManager :
The IOManager for the connection, it will be deleted automatically when the VDS handle is closed
- compressionMethod :
The overall compression method to be used for the VDS. The channel descriptors can have additional options to control how a channel is compressed.
- compressionTolerance :
This property specifies the compression tolerance [1..255] when using the wavelet compression method. This value is the maximum deviation from the original data value when the data is converted to 8-bit using the value range. A value of 1 means the maximum allowable loss is the same as quantizing to 8-bit (but the average loss will be much much lower than quantizing to 8-bit). It is not a good idea to directly relate the tolerance to the quality of the compressed data, as the average loss will in general be an order of magnitude lower than the allowable loss.
- error :
If an error occured, the error code and message will be written to this output parameter
Returns:
The VDS handle that can be used to get the VolumeDataLayout and the VolumeDataAccessManager
create(ioManager: openvds.core.IOManager, layoutDescriptor: OpenVDS::VolumeDataLayoutDescriptor, axisDescriptors: List[OpenVDS::VolumeDataAxisDescriptor], channelDescriptors: List[OpenVDS::VolumeDataChannelDescriptor], metadata: OpenVDS::MetadataReadAccess, compressionMethod: OpenVDS::CompressionMethod, compressionTolerance: float) -> openvds.core.VDS
create(ioManager: openvds.core.IOManager, layoutDescriptor: OpenVDS::VolumeDataLayoutDescriptor, axisDescriptors: List[OpenVDS::VolumeDataAxisDescriptor], channelDescriptors: List[OpenVDS::VolumeDataChannelDescriptor], metadata: OpenVDS::MetadataReadAccess, compressionMethod: OpenVDS::CompressionMethod, compressionTolerance: float, logLevel: OpenVDS::LogLevel, error: OpenVDS::VDSError) -> openvds.core.VDS
Create a new VDS.
Parameters:
- ioManager :
The IOManager for the connection, it will be deleted automatically when the VDS handle is closed
- compressionMethod :
The overall compression method to be used for the VDS. The channel descriptors can have additional options to control how a channel is compressed.
- compressionTolerance :
This property specifies the compression tolerance [1..255] when using the wavelet compression method. This value is the maximum deviation from the original data value when the data is converted to 8-bit using the value range. A value of 1 means the maximum allowable loss is the same as quantizing to 8-bit (but the average loss will be much much lower than quantizing to 8-bit). It is not a good idea to directly relate the tolerance to the quality of the compressed data, as the average loss will in general be an order of magnitude lower than the allowable loss.
- error :
If an error occured, the error code and message will be written to this output parameter
Returns:
The VDS handle that can be used to get the VolumeDataLayout and the VolumeDataAccessManager
create(ioManager: openvds.core.IOManager, layoutDescriptor: OpenVDS::VolumeDataLayoutDescriptor, axisDescriptors: List[OpenVDS::VolumeDataAxisDescriptor], channelDescriptors: List[OpenVDS::VolumeDataChannelDescriptor], metadata: OpenVDS::MetadataReadAccess, compressionMethod: OpenVDS::CompressionMethod, compressionTolerance: float, logLevel: OpenVDS::LogLevel) -> openvds.core.VDS
create(ioManager: openvds.core.IOManager, layoutDescriptor: OpenVDS::VolumeDataLayoutDescriptor, axisDescriptors: List[OpenVDS::VolumeDataAxisDescriptor], channelDescriptors: List[OpenVDS::VolumeDataChannelDescriptor], metadata: OpenVDS::MetadataReadAccess, error: OpenVDS::VDSError) -> openvds.core.VDS
Create a new VDS.
Parameters:
- ioManager :
The IOManager for the connection, it will be deleted automatically when the VDS handle is closed
- error :
If an error occured, the error code and message will be written to this output parameter
Returns:
The VDS handle that can be used to get the VolumeDataLayout and the VolumeDataAccessManager
create(ioManager: openvds.core.IOManager, layoutDescriptor: OpenVDS::VolumeDataLayoutDescriptor, axisDescriptors: List[OpenVDS::VolumeDataAxisDescriptor], channelDescriptors: List[OpenVDS::VolumeDataChannelDescriptor], metadata: OpenVDS::MetadataReadAccess) -> openvds.core.VDS
create(ioManager: openvds.core.IOManager, layoutDescriptor: OpenVDS::VolumeDataLayoutDescriptor, axisDescriptors: List[OpenVDS::VolumeDataAxisDescriptor], channelDescriptors: List[OpenVDS::VolumeDataChannelDescriptor], metadata: OpenVDS::MetadataReadAccess, logLevel: OpenVDS::LogLevel, error: OpenVDS::VDSError) -> openvds.core.VDS
Create a new VDS.
Parameters:
- ioManager :
The IOManager for the connection, it will be deleted automatically when the VDS handle is closed
- error :
If an error occured, the error code and message will be written to this output parameter
Returns:
The VDS handle that can be used to get the VolumeDataLayout and the VolumeDataAccessManager
create(ioManager: openvds.core.IOManager, layoutDescriptor: OpenVDS::VolumeDataLayoutDescriptor, axisDescriptors: List[OpenVDS::VolumeDataAxisDescriptor], channelDescriptors: List[OpenVDS::VolumeDataChannelDescriptor], metadata: OpenVDS::MetadataReadAccess, logLevel: OpenVDS::LogLevel) -> openvds.core.VDS
- openvds.close(*args, **kwargs)
Overloaded function.
close(handle: openvds.core.VDS, flush: bool = True) -> None
Close a VDS and free up all associated resources. If an error occurs, an exception will be thrown.
Parameters:
- handle :
The handle of the VDS
close(handle: openvds.core.VDS, error: OpenVDS::VDSError, flush: bool = True) -> None
Close a VDS and free up all associated resources
Parameters:
- handle :
The handle of the VDS
- error :
If an error occured, the error code and message will be written to this output parameter
- class openvds.AWSOpenOptions
Options for opening a VDS in AWS
- class openvds.AzureOpenOptions
Options for opening a VDS in Azure
- class openvds.GoogleOpenOptions
Options for opening a VDS in Google Cloud Storage
- class openvds.DMSOpenOptions
- class openvds.VDSFileOpenOptions
Options for opening a VDS file
- openvds.getAccessManager(handle: int)
Get the VolumeDataAccessManager for a VDS
- Parameter handle:
The handle of the VDS
- Returns:
The VolumeDataAccessManager of the VDS
- openvds.getLayout(handle: openvds.core.VDS) OpenVDS::VolumeDataLayout
Get the VolumeDataLayout for a VDS
Parameters:
- handle :
The handle of the VDS
Returns:
The VolumeDataLayout of the VDS
- class openvds.VolumeDataAccessManager(handle: int)
Interface class for VDS data access.
This class has functions for making asynchronous data requests on a VDS object using numpy arrays.
Parameters:
- handlevds handle
The VDS to interface with.
- class AccessMode
Members:
AccessMode_ReadOnly : < The volume data page accessor will only be used for reading
AccessMode_ReadWrite : < The volume data page accessor will be used for reading and writing
(can only be used with LOD 0, the other LODs will be automatically updated)
AccessMode_Create : < The volume data page accessor will be used to write new data,
overwriting any existing data (can only be used with LOD 0, the other LODs will be automatically created)
AccessMode_CreateWithoutLODGeneration : < The volume data page accessor will be used to write new data,
overwriting any existing data (each LOD has to be created separately)
AccessMode_ReadWriteWithoutLODGeneration : < The volume data page accessor will be used used for reading and
writing (each LOD has to be created separately)
- property name
- createVolumeDataPageAccessor(dimensionsND, lod, channel, maxPages, accessMode, chunkMetadataPageSize=1024)
Create a VolumeDataPageAccessor object for the VDS.
Parameters:
- dimensionsND :
The dimensions group that the volume data page accessor will access.
- LOD :
The LOD level that the volume data page accessor will access.
- channel :
The channel index that the volume data page accessor will access.
- maxPages :
The maximum number of pages that the volume data page accessor will cache.
- accessMode :
This specifies the access mode (ReadOnly/ReadWrite/Create) of the volume data page accessor.
- chunkMetadataPageSize :
The chunk metadata page size of the layer. This controls how many chunk metadata entries are written per page, and is only used when the access mode is Create. If this number is too low it will degrade performance, but in certain situations it can be advantageous to make this number a multiple of the number of chunks in some of the dimensions. Do not change this from the default (1024) unless you know exactly what you are doing.
Returns:
A VolumeDataPageAccessor object for the VDS.
- flush()
Flush any pending writes and write updated layer status
- getProjectedVolumeSubsetBufferSize(min: Tuple[int], max: Tuple[int], projectedDimensions, format, lod=0, channel=0)
Compute the buffer size (in bytes) for a projected volume subset request.
Parameters:
- minVoxelCoordinates :
The minimum voxel coordinates to request in each dimension (inclusive).
- maxVoxelCoordinates :
The maximum voxel coordinates to request in each dimension (exclusive).
- projectedDimensions :
The 2D dimension group that the plane in the source dimensiongroup is projected into. It must be a 2D subset of the source dimensions.
- format :
Voxel format of the destination buffer.
- LOD :
The LOD level the requested data is read from.
- channel :
The channel index the requested data is read from.
Returns:
The buffer size needed.
- getVDSChunkCount(dimensionsND, lod=0, channel=0)
Get the chunk count for the specific DimensionsND/LOD/Channel combination.
Parameters:
- dimensionsND :
The dimensions group we’re getting the chunk count for.
- LOD :
The LOD level we’re getting the chunk count status for.
- channel :
The channel index we’re getting the chunk count status for.
Returns:
The chunk count for the specific DimensionsND/LOD/Channel combination.
- getVDSProduceStatus(dimensionsND, lod=0, channel=0)
Get the produce status for the specific DimensionsND/LOD/Channel combination.
Parameters:
- dimensionsND :
The dimensions group we’re getting the produce status for.
- LOD :
The LOD level we’re getting the produce status for.
- channel :
The channel index we’re getting the produce status for.
Returns:
The produce status for the specific DimensionsND/LOD/Channel combination.
- getVolumeDataLayout()
Get the VolumeDataLayout object for a VDS.
Returns:
The VolumeDataLayout object associated with the VDS or None if there is no valid VolumeDataLayout.
- getVolumeSamplesBufferSize(sampleCount, channel=0)
Compute the buffer size (in bytes) for a volume samples request.
Parameters:
- sampleCount :
Number of samples to request.
- channel :
The channel index the requested data is read from.
Returns:
The buffer size needed
- getVolumeSubsetBufferSize(min: ~typing.Tuple[int], max: ~typing.Tuple[int], format=<VolumeDataFormat.Format_R32: 3>, lod=0, channel=0)
Compute the buffer size (in bytes) for a volume subset request.
Parameters:
- minVoxelCoordinates :
The minimum voxel coordinates to request in each dimension (inclusive).
- maxVoxelCoordinates :
The maximum voxel coordinates to request in each dimension (exclusive).
- format :
Voxel format of the destination buffer.
- LOD :
The LOD level the requested data is read from.
- channel :
The channel index the requested data is read from.
Returns:
The buffer size needed.
- getVolumeTracesBufferSize(traceCount, traceDimension, lod=0, channel=0)
Compute the buffer size (in bytes) for a volume traces request.
Parameters:
- traceCount :
Number of traces to request.
- traceDimension :
The dimension to trace
- LOD :
The LOD level the requested data is read from.
- channel :
The channel index the requested data is read from.
Returns:
The buffer size needed.
- prefetchVolumeChunk(chunkIndex, dimensionsND=<DimensionsND.Dimensions_012: 0>, lod=0, channel=0)
Force production of a specific volume data chunk.
Parameters
- chunkIndex: int
The index of the chunk to prefetch.
- dimensionsNDDimensionsND, optional
If specified, determine the dimensiongroup requested. Defaults to Dimensions_012
- lodint, optional
Which LOD level to request. Defaults to 0
- channelint, optional
Channel index. Defaults to 0.
Returns
- requestVolumeDataRequest
An object encapsulating the request, the request state, and the requested data.
- requestProjectedVolumeSubset(min: ~typing.Tuple[int], max: ~typing.Tuple[int], data_out=None, dimensionsND=<DimensionsND.Dimensions_012: 0>, lod=0, channel=0, voxelPlane=(1, 1, 0, 0), projectedDimensions=<DimensionsND.Dimensions_12: 25>, interpolationMethod=<InterpolationMethod.Cubic: 2>, format=<VolumeDataFormat.Format_R32: 3>, replacementNoValue=None)
Request a subset of the VDS data, projected onto a plane.
Parameters
- mintuple
Specifies the minimum voxel coordinates of the request (inclusive)
- maxtuple
Specifies the maximum voxel coordinates of the request (exclusive)
- data_outnumpy.ndarray, optional
If specified, the data requested is copied to this array. Otherwise, a suitable numpy array is allocated.
- dimensionsNDDimensionsND, optional
If specified, determine the dimensiongroup requested. Defaults to Dimensions_012
- lodint, optional
Which LOD level to request. Defaults to 0
- channelint, optional
Channel index. Defaults to 0.
- voxelPlane: tuple[int,int,int,int], optional
A 4D vector representing the projection plane.
- projectedDimensions: DimensionsND, optional
The dimensions to be projected
- interpolationMethod: InterpolationMethod, optional
Defaults to InterpolationMethod.Cubic
- formatVoxelFormat, optional
Specifies the format of the delivered data: Bytes, floats, doubles. etc.
- replacementNoValue: float, optional
If specified, NoValue data in the dataset is replaced with this value.
Returns
- requestVolumeDataRequest
An object encapsulating the request, the request state, and the requested data.
- requestVolumeSamples(samplePositions, data_out=None, dimensionsND=<DimensionsND.Dimensions_012: 0>, lod=0, channel=0, interpolationMethod=<InterpolationMethod.Cubic: 2>, replacementNoValue=None)
Request a set of samples from the volume. The samples are always in 32-bit floating point format.
Parameters
- samplePositions:
A set of voxel coordinates to obtain sample values for.
- data_outnumpy.ndarray, optional
If specified, the data requested is copied to this array. Otherwise, a suitable numpy array is allocated.
- dimensionsNDDimensionsND, optional
If specified, determine the dimensiongroup requested. Defaults to Dimensions_012
- lodint, optional
Which LOD level to request. Defaults to 0
- channelint, optional
Channel index. Defaults to 0.
- interpolationMethod: InterpolationMethod, optional
Defaults to InterpolationMethod.Cubic
- replacementNoValue: float, optional
If specified, NoValue data in the dataset is replaced with this value.
Returns
- requestVolumeDataRequest
An object encapsulating the request, the request state, and the requested data.
- requestVolumeSubset(min: ~typing.Tuple[int], max: ~typing.Tuple[int], data_out=None, dimensionsND=<DimensionsND.Dimensions_012: 0>, lod=0, channel=0, format=<VolumeDataFormat.Format_R32: 3>, replacementNoValue=None)
Request a subset of the VDS data.
Parameters
- mintuple
Specifies the minimum voxel coordinates of the request (inclusive)
- maxtuple
Specifies the maximum voxel coordinates of the request (exclusive)
- data_outnumpy.ndarray, optional
If specified, the data requested is copied to this array. Otherwise, a suitable numpy array is allocated.
- dimensionsNDDimensionsND, optional
If specified, determine the dimensiongroup requested. Defaults to Dimensions_012
- lodint, optional
Which LOD level to request. Defaults to 0
- channelint, optional
Channel index. Defaults to 0.
- formatVoxelFormat, optional
Specifies the format of the delivered data: Bytes, floats, doubles. etc.
- replacementNoValue: float, optional
If specified, NoValue data in the dataset is replaced with this value.
Returns
- requestVolumeDataRequest
An object encapsulating the request, the request state, and the requested data.
- requestVolumeTraces(tracePositions, traceDimension, data_out=None, dimensionsND=<DimensionsND.Dimensions_012: 0>, lod=0, channel=0, interpolationMethod=<InterpolationMethod.Cubic: 2>, replacementNoValue=None)
Request a set of traces from the volume. The traces are always in 32-bit floating point format.
Parameters
- tracePositions:
A set of trace coordinates to obtain sample values for.
- traceDimension:
The dimension to obtain the traces from.
- data_outnumpy.ndarray, optional
If specified, the data requested is copied to this array. Otherwise, a suitable numpy array is allocated.
- dimensionsNDDimensionsND, optional
If specified, determine the dimensiongroup requested. Defaults to Dimensions_012
- lodint, optional
Which LOD level to request. Defaults to 0
- channelint, optional
Channel index. Defaults to 0.
- interpolationMethod: InterpolationMethod, optional
Defaults to InterpolationMethod.Cubic
- replacementNoValue: float, optional
If specified, NoValue data in the dataset is replaced with this value.
Returns
- requestVolumeDataRequest
An object encapsulating the request, the request state, and the requested data.
- class openvds.VolumeDataRequest
A VolumeDataRequest encapsulates an asynchronous request for volume data from a VDS object instance.
When created by a VolumeDataAccessManager a VolumeDataRequest will be active. The request remains active until either IsCompleted(), IsCanceled() or WaitForCompletion() returns True.
It is supported to access a VolumeDataRequest from a different thread than where it was created, but concurrent access to the same instance from multiple threads can result in race conditions.
- buffer(self: openvds.core.VolumeDataRequest) capsule
Get the pointer to the buffer the request is writing to.
Returns:
The pointer to the buffer the request is writing to.
- bufferByteSize(self: openvds.core.VolumeDataRequest) int
Get the size of the buffer the request is writing to.
Returns:
The size of the buffer the request is writing to.
- bufferDataType(self: openvds.core.VolumeDataRequest) openvds.core.VolumeDataFormat
Get the volume data format of the buffer the request is writing to.
Returns:
The volume data format of the buffer the request is writing to.
- cancel(self: openvds.core.VolumeDataRequest) None
Try to cancel the request. You still have to call WaitForCompletion/IsCanceled to make sure the buffer is not being written to and to take the job out of the system. It is possible that the request has completed concurrently with the call to Cancel in which case WaitForCompletion will return True.
- cancelAndWaitForCompletion(self: openvds.core.VolumeDataRequest) None
Cancel the request and wait for it to complete. This call will block until the request has completed so you can be sure the buffer is not being written to and the job is taken out of the system.
- property canceled
Check if the request was canceled (e.g. the VDS was invalidated before the request was processed). If the request was canceled, the buffer does not contain valid data.
Returns:
The request is active until either IsCompleted, IsCanceled or WaitForCompletion returns True.
- property completed
Check if the request completed successfully. If the request completed, the buffer now contains valid data.
Returns:
The request is active until either IsCompleted, IsCanceled or WaitForCompletion returns True.
- property completionFactor
Get the completion factor (between 0 and 1) of the request.
Returns:
A factor (between 0 and 1) indicating how much of the request has been completed.
- property errorCode
Get the error code of a request that has been cancelled.
Returns:
The error code. If the error code is positive, it corresponds to the enum values in Hue::HueSpaceLib::ErrorCode. Compute plugins may set their own negative error code, which causes the return value of this method to be a plain int value that does not correspond to one of the enum values.
- property errorMessage
Get the error string of a request that has been cancelled.
Returns:
The error string.
- getCompletionFactor(self: openvds.core.VolumeDataRequest) float
Get the completion factor (between 0 and 1) of the request.
Returns:
A factor (between 0 and 1) indicating how much of the request has been completed.
- getErrorCode(self: openvds.core.VolumeDataRequest) int
Get the error code of a request that has been cancelled.
Returns:
The error code. If the error code is positive, it corresponds to the enum values in Hue::HueSpaceLib::ErrorCode. Compute plugins may set their own negative error code, which causes the return value of this method to be a plain int value that does not correspond to one of the enum values.
- getErrorMessage(self: openvds.core.VolumeDataRequest) str
Get the error string of a request that has been cancelled.
Returns:
The error string.
- isCanceled(self: openvds.core.VolumeDataRequest) bool
Check if the request was canceled (e.g. the VDS was invalidated before the request was processed). If the request was canceled, the buffer does not contain valid data.
Returns:
The request is active until either IsCompleted, IsCanceled or WaitForCompletion returns True.
- isCompleted(self: openvds.core.VolumeDataRequest) bool
Check if the request completed successfully. If the request completed, the buffer now contains valid data.
Returns:
The request is active until either IsCompleted, IsCanceled or WaitForCompletion returns True.
- requestID(self: openvds.core.VolumeDataRequest) int
Get the ID of the request.
Returns:
The ID of the request.
- validateRequest(self: openvds.core.VolumeDataRequest) None
Check if the request object is valid. Throws an InvalidOperation exception if the request object is not valid.
- waitForCompletion(self: openvds.core.VolumeDataRequest, millisecondsBeforeTimeout: int = 0) bool
Wait for the VolumeDataRequest to complete successfully. If the request completed, the buffer now contains valid data.
Parameters:
- millisecondsBeforeTimeout :
The number of milliseconds to wait before timing out (optional). A value of 0 indicates there is no timeout and we will wait for however long it takes. Note that the request is not automatically canceled if the wait times out, you can also use this mechanism to e.g. update a progress bar while waiting. If you want to cancel the request you have to explicitly call CancelRequest() and then wait for the request to stop writing to the buffer.
Returns:
The request is active until either IsCompleted, IsCanceled or WaitForCompletion returns True. Whenever WaitForCompletion returns False you need to call IsCanceled() to know if that was because of a timeout or if the request was canceled.
- class openvds.VolumeDataLayout
- getAxisDescriptor(self: openvds.core.VolumeDataLayout, dimension: int) openvds.core.VolumeDataAxisDescriptor
- getChannelComponents(self: openvds.core.VolumeDataLayout, channel: int) openvds.core.VolumeDataComponents
- getChannelCount(self: openvds.core.VolumeDataLayout) int
- getChannelDescriptor(self: openvds.core.VolumeDataLayout, channel: int) openvds.core.VolumeDataChannelDescriptor
- getChannelFormat(self: openvds.core.VolumeDataLayout, channel: int) openvds.core.VolumeDataFormat
- getChannelIndex(self: openvds.core.VolumeDataLayout, channelName: str) int
- getChannelIntegerOffset(self: openvds.core.VolumeDataLayout, channel: int) float
- getChannelIntegerScale(self: openvds.core.VolumeDataLayout, channel: int) float
- getChannelMapping(self: openvds.core.VolumeDataLayout, channel: int) openvds.core.VolumeDataMapping
- getChannelName(self: openvds.core.VolumeDataLayout, channel: int) str
- getChannelNoValue(self: openvds.core.VolumeDataLayout, channel: int) float
- getChannelUnit(self: openvds.core.VolumeDataLayout, channel: int) str
- getChannelValueRangeMax(self: openvds.core.VolumeDataLayout, channel: int) float
- getChannelValueRangeMin(self: openvds.core.VolumeDataLayout, channel: int) float
- getContentsHash(self: openvds.core.VolumeDataLayout) int
- getDimensionMax(self: openvds.core.VolumeDataLayout, dimension: int) float
- getDimensionMin(self: openvds.core.VolumeDataLayout, dimension: int) float
- getDimensionName(self: openvds.core.VolumeDataLayout, dimension: int) str
- getDimensionNumSamples(self: openvds.core.VolumeDataLayout, dimension: int) int
- getDimensionUnit(self: openvds.core.VolumeDataLayout, dimension: int) str
- getDimensionality(self: openvds.core.VolumeDataLayout) int
- getLayoutDescriptor(self: openvds.core.VolumeDataLayout) OpenVDS::VolumeDataLayoutDescriptor
- getLayoutHash(self: openvds.core.VolumeDataLayout) int
- getVDSIJKGridDefinitionFromMetadata(self: openvds.core.VolumeDataLayout) OpenVDS::VDSIJKGridDefinition
- isChannelAllowingLossyCompression(self: openvds.core.VolumeDataLayout, channel: int) bool
- isChannelAvailable(self: openvds.core.VolumeDataLayout, channelName: str) bool
- isChannelDiscrete(self: openvds.core.VolumeDataLayout, channel: int) bool
- isChannelRenderable(self: openvds.core.VolumeDataLayout, channel: int) bool
- isChannelUseNoValue(self: openvds.core.VolumeDataLayout, channel: int) bool
- isChannelUseZipForLosslessCompression(self: openvds.core.VolumeDataLayout, channel: int) bool
- class openvds.VolumeDataAxisDescriptor
Describes the number of samples, name, unit and coordinates (annotation) of an axis (dimension) of the volume
- property coordinateMax
Get the coordinate of the last sample of this axis
Returns:
The coordinate of the last sample of this axis
- property coordinateMin
Get the coordinate of the first sample of this axis
Returns:
The coordinate of the first sample of this axis
- property coordinateStep
Get the coordiante step size per sample
Returns:
The coordiante step size per sample
- coordinateToSampleIndex(self: openvds.core.VolumeDataAxisDescriptor, coordinate: float) int
Convert a coordinate to a sample index (rounding to the closest index)
Parameters:
- coordinate :
The coordinate to get the sample index of
Returns:
The sample index of the coordinate
- coordinateToSamplePosition(self: openvds.core.VolumeDataAxisDescriptor, coordinate: float) float
Convert a coordinate to a sample position (to use with RequestVolumeSamples or an InterpolatingVolumeDataAccessor)
Parameters:
- coordinate :
The coordinate to get the sample position of
Returns:
The sample position of the coordinate
- getCoordinateMax(self: openvds.core.VolumeDataAxisDescriptor) float
Get the coordinate of the last sample of this axis
Returns:
The coordinate of the last sample of this axis
- getCoordinateMin(self: openvds.core.VolumeDataAxisDescriptor) float
Get the coordinate of the first sample of this axis
Returns:
The coordinate of the first sample of this axis
- getCoordinateStep(self: openvds.core.VolumeDataAxisDescriptor) float
Get the coordiante step size per sample
Returns:
The coordiante step size per sample
- getName(self: openvds.core.VolumeDataAxisDescriptor) str
Get the name of this axis
Returns:
The name of this axis
- getNumSamples(self: openvds.core.VolumeDataAxisDescriptor) int
Get the number of samples along this axis
Returns:
The number of samples along this axis
- getUnit(self: openvds.core.VolumeDataAxisDescriptor) str
Get the unit of the coordinates of this axis
Returns:
The unit of the coordinates of this axis
- property numSamples
Get the number of samples along this axis
Returns:
The number of samples along this axis
- sampleIndexToCoordinate(self: openvds.core.VolumeDataAxisDescriptor, sampleIndex: int) float
Convert a sample index on this axis to a coordinate
Parameters:
- sampleIndex :
The sample index get the coordinate of
Returns:
The coordinate of the sample index
- class openvds.VolumeDataChannelDescriptor
class VolumeDataChannelDescriptor Describes a channel of a VDS
- Components
alias of
VolumeDataComponents
- class Flags
Flags for this channel
Members:
Default :
DiscreteData : < This channel contains discrete data
NoLossyCompression : < Do not allow lossy compression on this channel
NotRenderable : < This channel is not renderable
NoLossyCompressionUseZip : < Use Zip when compressing this channel
- property name
- Format
alias of
VolumeDataFormat
- getComponents(self: openvds.core.VolumeDataChannelDescriptor) openvds.core.VolumeDataComponents
- getFlags(self: openvds.core.VolumeDataChannelDescriptor) OpenVDS::VolumeDataChannelDescriptor::Flags
- getFormat(self: openvds.core.VolumeDataChannelDescriptor) openvds.core.VolumeDataFormat
- getIntegerOffset(self: openvds.core.VolumeDataChannelDescriptor) float
- getIntegerScale(self: openvds.core.VolumeDataChannelDescriptor) float
- getMappedValueCount(self: openvds.core.VolumeDataChannelDescriptor) int
- getMapping(self: openvds.core.VolumeDataChannelDescriptor) openvds.core.VolumeDataMapping
- getName(self: openvds.core.VolumeDataChannelDescriptor) str
- getNoValue(self: openvds.core.VolumeDataChannelDescriptor) float
- getUnit(self: openvds.core.VolumeDataChannelDescriptor) str
- getValueRange(self: openvds.core.VolumeDataChannelDescriptor) OpenVDS::Range<float>
- getValueRangeMax(self: openvds.core.VolumeDataChannelDescriptor) float
- getValueRangeMin(self: openvds.core.VolumeDataChannelDescriptor) float
- isAllowLossyCompression(self: openvds.core.VolumeDataChannelDescriptor) bool
- isDiscrete(self: openvds.core.VolumeDataChannelDescriptor) bool
- isRenderable(self: openvds.core.VolumeDataChannelDescriptor) bool
- isUseNoValue(self: openvds.core.VolumeDataChannelDescriptor) bool
- isUseZipForLosslessCompression(self: openvds.core.VolumeDataChannelDescriptor) bool
- static traceMappedVolumeDataChannelDescriptor(*args, **kwargs)
Overloaded function.
traceMappedVolumeDataChannelDescriptor(format: openvds.core.VolumeDataFormat, components: openvds.core.VolumeDataComponents, name: str, unit: str, valueRangeMin: float, valueRangeMax: float, mappedValueCount: int, flags: openvds.core.VolumeDataChannelDescriptor.Flags) -> openvds.core.VolumeDataChannelDescriptor
Named constructor for a trace mapped channel
Parameters:
- format :
the data format for this channel
- components :
the number of vector components (1 for scalar data) for this channel
- name :
the name of this channel
- unit :
the unit of this channel
- valueRangeMin :
The estimated minimum value of this channel, with outliers removed, suitable for displaying the data and used for automatic conversion between R32 and quantized U8 and U16 representations of the data
- valueRangeMax :
The estimated maximum value of this channel, with outliers removed
- mappedValueCount :
When using per trace mapping, the number of values to store per trace
- flags :
the flags for this channel
Returns:
a trace mapped descriptor
traceMappedVolumeDataChannelDescriptor(format: openvds.core.VolumeDataFormat, components: openvds.core.VolumeDataComponents, name: str, unit: str, valueRangeMin: float, valueRangeMax: float, mappedValueCount: int, flags: openvds.core.VolumeDataChannelDescriptor.Flags, noValue: float) -> openvds.core.VolumeDataChannelDescriptor
Named constructor for a trace mapped channel
Parameters:
- format :
the data format for this channel
- components :
the number of vector components (1 for scalar data) for this channel
- name :
the name of this channel
- unit :
the unit of this channel
- valueRangeMin :
The estimated minimum value of this channel, with outliers removed, suitable for displaying the data and used for automatic conversion between R32 and quantized U8 and U16 representations of the data
- valueRangeMax :
The estimated maximum value of this channel, with outliers removed
- mappedValueCount :
When using per trace mapping, the number of values to store per trace
- flags :
the flags for this channel
- noValue :
the No Value for this channel
Returns:
a trace mapped descriptor
- class openvds.VolumeDataLayoutDescriptor
- class BrickSize
Members:
BrickSize_32 :
BrickSize_64 :
BrickSize_128 :
BrickSize_256 :
BrickSize_512 :
BrickSize_1024 :
BrickSize_2048 :
BrickSize_4096 :
- property name
- class LODLevels
Members:
LODLevels_None :
LODLevels_1 :
LODLevels_2 :
LODLevels_3 :
LODLevels_4 :
LODLevels_5 :
LODLevels_6 :
LODLevels_7 :
LODLevels_8 :
LODLevels_9 :
LODLevels_10 :
LODLevels_11 :
LODLevels_12 :
- property name
- class Options
Members:
Options_None :
Options_Create2DLODs :
Options_ForceFullResolutionDimension :
- property name
- getBrickSize(self: openvds.core.VolumeDataLayoutDescriptor) OpenVDS::VolumeDataLayoutDescriptor::BrickSize
- getBrickSizeMultiplier2D(self: openvds.core.VolumeDataLayoutDescriptor) int
- getFullResolutionDimension(self: openvds.core.VolumeDataLayoutDescriptor) int
- getLODLevels(self: openvds.core.VolumeDataLayoutDescriptor) OpenVDS::VolumeDataLayoutDescriptor::LODLevels
- getNegativeMargin(self: openvds.core.VolumeDataLayoutDescriptor) int
- getOptions(self: openvds.core.VolumeDataLayoutDescriptor) OpenVDS::VolumeDataLayoutDescriptor::Options
- getPositiveMargin(self: openvds.core.VolumeDataLayoutDescriptor) int
- isCreate2DLODs(self: openvds.core.VolumeDataLayoutDescriptor) bool
- isForceFullResolutionDimension(self: openvds.core.VolumeDataLayoutDescriptor) bool
- isValid(self: openvds.core.VolumeDataLayoutDescriptor) bool
- class openvds.KnownMetadata
- static SEGYBinaryHeader() openvds.core.MetadataKey
The original binary header of the SEG-Y file
- static SEGYDataEndianness() openvds.core.MetadataKey
The endianness of the data samples in the SEG-Y file if different from the header endianness. This is a non-standard feature, but some SEG-Y files use it. (0=BigEndian)(1=LittleEndian)
- static SEGYDataSampleFormatCode() openvds.core.MetadataKey
The data sample format code of the data samples imported from the SEG-Y file. (0=Unknown)(1=IBMFloat)(2=Int32)(3=Int16)(4=FixedPoint)(5= IEEEFloat)(6=IEEEDouble)(7=Int24)(8=Int8)(9=Int64)(10=UInt32)(11=UInt1 6)(12=UInt64)(15=UInt24)(16=UInt8)
- static SEGYEndianness() openvds.core.MetadataKey
The endianness of the SEG-Y file (0=BigEndian)(1=LittleEndian)
- static SEGYPrimaryKey() openvds.core.MetadataKey
The primary key (i.e. sort order) of the original SEG-Y file. VDSs are expected to transpose crossline-oriented seismic to use the standard (Sample, Crossline, Inline) axis triple, so in order to export the file in the original order we need to know which dimension to loop over.
- static SEGYTextHeader() openvds.core.MetadataKey
The original text header of the SEG-Y file
- static categoryImportInformation() str
The metadata in the ImportInformation category contains information about the initial import to VDS. That is, information about the original file (file name, last modification time etc.) and when/how it was imported. The intended use is e.g. to give a default file name for an export operation or to inform the user about whether the VDS was imported from some particular file.
- static categorySEGY() str
The metadata in the SEGY category is intended to capture information required to re-create the original SEG-Y file. It is only present if the VDS was imported from a SEG-Y file.
- static categorySurveyCoordinateSystem() str
The metadata in the survey coordinate system category contains either information used to transform from an Inline/Crossline annotation system to XY (Easting, Northing) coordinates or information used to transform from an I/J/K annotation system to XYZ coordinates. <para> In the Inline/Crossline system, the step vector for dimension 0 (Which can be named either Time, Depth or Sample) is always negative Z direction. The origin is the position of (inline, crossline) (0, 0), the inline spacing is the (X, Y) step when the inline position increments by 1 and the crossline spacing is the (X, Y) step when the crossline position increments by 1. </para> <para> In the I/J/K system, all three dimensions have 3D step vectors allowing for any affine tranform to XYZ coordinates. The IJK origin is the position of (I, J, K) (0, 0, 0), the I step vector is the (X, Y, Z) step when the I position increments by 1, the J step vector is the (X, Y, Z) step when the J position increments by 1 and the K step vector is the (X, Y, Z) step when the K position increments by 1. </para> <para> It is also possible to define the X, Y, Z coordinates directly by using X/Y/Z as the axis names. </para> <para> Any dimensions which have names that are not recognized or are missing the Spacing metadata will be given a unit vector perpendicular to the recognized dimensions. </para>
- static categoryTraceCoordinates() str
The metadata in the TraceCoordinates category is used for positioning of 2D seismic. It relates to the ‘Trace’ dimension of the VDS where the annotation coordinate is used to look up in the arrays in this category. This allows using the same positions with subsetted and interpolated or decimated data.
- static categoryWrittenRegion() str
The metadata in the WrittenRegion category is used to indicate which area is written in a sparsely populated VDS. The guarantee is that values outside the written area will be NoValue if UseNoValue is True, and ValueRange.Min if UseNoValue is False.
- static energySourcePointNumbers() openvds.core.MetadataKey
An array of scalar int32 values defining the energy source point number for each trace.
- static ensembleNumbers() openvds.core.MetadataKey
An array of scalar int32 values defining the ensemble number for each trace.
- static importInformationDisplayName() openvds.core.MetadataKey
An informative name that can be displayed to a user but is not necessarily a valid file name.
- static importInformationImportTimeStamp() openvds.core.MetadataKey
The time in ISO8601 format when the data was imported to VDS.
- static importInformationInputFileName() openvds.core.MetadataKey
The original input file name. In cases where the input is not a simple file this should still be a valid file name that can be used as the default for a subsequent export operation.
- static importInformationInputFileSize() openvds.core.MetadataKey
The total size (in bytes) of the input file(s), which is an integer stored as a double because there is no 64-bit integer metadata type.
- static importInformationInputTimeStamp() openvds.core.MetadataKey
The last modified time of the input in ISO8601 format.
- static surveyCoordinateSystemCRSWkt() openvds.core.MetadataKey
The well-known text representation of the coordinate reference system
- static surveyCoordinateSystemCrosslineSpacing() openvds.core.MetadataKey
The XY spacing between units in the Crossline annotation dimension.
- static surveyCoordinateSystemGridPoint0() openvds.core.MetadataKey
An optional reference point in the grid, the annotation coordinates for this point are GridPoint0Inline and GridPoint0Crossline
- static surveyCoordinateSystemGridPoint0Crossline() openvds.core.MetadataKey
The inline annotation coordinate for the point defined by GridPoint0
- static surveyCoordinateSystemGridPoint0Inline() openvds.core.MetadataKey
The inline annotation coordinate for the point defined by GridPoint0
- static surveyCoordinateSystemGridPoint1() openvds.core.MetadataKey
An optional reference point in the grid, the annotation coordinates for this point are GridPoint1Inline and GridPoint1Crossline
- static surveyCoordinateSystemGridPoint1Crossline() openvds.core.MetadataKey
The inline annotation coordinate for the point defined by GridPoint1
- static surveyCoordinateSystemGridPoint1Inline() openvds.core.MetadataKey
The inline annotation coordinate for the point defined by GridPoint1
- static surveyCoordinateSystemGridPoint2() openvds.core.MetadataKey
An optional reference point in the grid, the annotation coordinates for this point are GridPoint2Inline and GridPoint2Crossline
- static surveyCoordinateSystemGridPoint2Crossline() openvds.core.MetadataKey
The inline annotation coordinate for the point defined by GridPoint2
- static surveyCoordinateSystemGridPoint2Inline() openvds.core.MetadataKey
The inline annotation coordinate for the point defined by GridPoint2
- static surveyCoordinateSystemGridPoint3() openvds.core.MetadataKey
An optional reference point in the grid, the annotation coordinates for this point are GridPoint3Inline and GridPoint3Crossline
- static surveyCoordinateSystemGridPoint3Crossline() openvds.core.MetadataKey
The inline annotation coordinate for the point defined by GridPoint3
- static surveyCoordinateSystemGridPoint3Inline() openvds.core.MetadataKey
The inline annotation coordinate for the point defined by GridPoint3
- static surveyCoordinateSystemIJKOrigin() openvds.core.MetadataKey
The XYZ position of the origin of the annotation (I/J/K) coordinate system.
- static surveyCoordinateSystemIStepVector() openvds.core.MetadataKey
The step vector corresponding to dimension named ‘I’
- static surveyCoordinateSystemInlineSpacing() openvds.core.MetadataKey
The XY spacing between units in the Inline annotation dimension.
- static surveyCoordinateSystemJStepVector() openvds.core.MetadataKey
The step vector corresponding to dimension named ‘J’
- static surveyCoordinateSystemKStepVector() openvds.core.MetadataKey
The step vector corresponding to dimension named ‘K’
- static surveyCoordinateSystemOrigin() openvds.core.MetadataKey
The XY position of the origin of the annotation (Inline/Crossline/Time) coordinate system.
- static surveyCoordinateSystemUnit() openvds.core.MetadataKey
The unit of the coordinate system
- static tracePositions() openvds.core.MetadataKey
An array of DoubleVector2 defining the position for each trace, where (0, 0) is treated as an undefined position.
- static traceVerticalOffsets() openvds.core.MetadataKey
An array of doubles defining the offset for each trace from the vertical start position in the Time/Depth/Sample dimension of the VDS
- static writtenRegion() openvds.core.MetadataKey
An array of scalar int32 values defining the 6D min and max (NDBox) of the written region
- class openvds.MetadataContainer
- clearMetadata(*args, **kwargs)
Overloaded function.
clearMetadata(self: openvds.core.MetadataContainer, category: str, name: str) -> None
clearMetadata(self: openvds.core.MetadataContainer, category: str) -> None
- copyMetadata(self: openvds.core.MetadataContainer, category: str, metadataReadAccess: openvds.core.MetadataReadAccess) None
- getMetadataDouble(self: openvds.core.MetadataContainer, category: str, name: str) float
- getMetadataDoubleVector2(self: openvds.core.MetadataContainer, category: str, name: str) Tuple[float, float]
- getMetadataDoubleVector3(self: openvds.core.MetadataContainer, category: str, name: str) Tuple[float, float, float]
- getMetadataDoubleVector4(self: openvds.core.MetadataContainer, category: str, name: str) Tuple[float, float, float, float]
- getMetadataFloat(self: openvds.core.MetadataContainer, category: str, name: str) float
- getMetadataFloatVector2(self: openvds.core.MetadataContainer, category: str, name: str) Tuple[float, float]
- getMetadataFloatVector3(self: openvds.core.MetadataContainer, category: str, name: str) Tuple[float, float, float]
- getMetadataFloatVector4(self: openvds.core.MetadataContainer, category: str, name: str) Tuple[float, float, float, float]
- getMetadataInt(self: openvds.core.MetadataContainer, category: str, name: str) int
- getMetadataIntVector2(self: openvds.core.MetadataContainer, category: str, name: str) Tuple[int, int]
- getMetadataIntVector3(self: openvds.core.MetadataContainer, category: str, name: str) Tuple[int, int, int]
- getMetadataIntVector4(self: openvds.core.MetadataContainer, category: str, name: str) Tuple[int, int, int, int]
- getMetadataKeys(self: openvds.core.MetadataContainer) openvds.core.MetadataKeyRange
- getMetadataString(self: openvds.core.MetadataContainer, category: str, name: str) str
- isMetadataBLOBAvailable(self: openvds.core.MetadataContainer, category: str, name: str) bool
- isMetadataDoubleAvailable(self: openvds.core.MetadataContainer, category: str, name: str) bool
- isMetadataDoubleVector2Available(self: openvds.core.MetadataContainer, category: str, name: str) bool
- isMetadataDoubleVector3Available(self: openvds.core.MetadataContainer, category: str, name: str) bool
- isMetadataDoubleVector4Available(self: openvds.core.MetadataContainer, category: str, name: str) bool
- isMetadataFloatAvailable(self: openvds.core.MetadataContainer, category: str, name: str) bool
- isMetadataFloatVector2Available(self: openvds.core.MetadataContainer, category: str, name: str) bool
- isMetadataFloatVector3Available(self: openvds.core.MetadataContainer, category: str, name: str) bool
- isMetadataFloatVector4Available(self: openvds.core.MetadataContainer, category: str, name: str) bool
- isMetadataIntAvailable(self: openvds.core.MetadataContainer, category: str, name: str) bool
- isMetadataIntVector2Available(self: openvds.core.MetadataContainer, category: str, name: str) bool
- isMetadataIntVector3Available(self: openvds.core.MetadataContainer, category: str, name: str) bool
- isMetadataIntVector4Available(self: openvds.core.MetadataContainer, category: str, name: str) bool
- isMetadataStringAvailable(self: openvds.core.MetadataContainer, category: str, name: str) bool
- setMetadataBLOB(self: openvds.core.MetadataContainer, category: str, name: str, data: buffer) None
- setMetadataDouble(self: openvds.core.MetadataContainer, category: str, name: str, value: float) None
- setMetadataDoubleVector2(self: openvds.core.MetadataContainer, category: str, name: str, value: Tuple[float, float]) None
- setMetadataDoubleVector3(self: openvds.core.MetadataContainer, category: str, name: str, value: Tuple[float, float, float]) None
- setMetadataDoubleVector4(self: openvds.core.MetadataContainer, category: str, name: str, value: Tuple[float, float, float, float]) None
- setMetadataFloat(self: openvds.core.MetadataContainer, category: str, name: str, value: float) None
- setMetadataFloatVector2(self: openvds.core.MetadataContainer, category: str, name: str, value: Tuple[float, float]) None
- setMetadataFloatVector3(self: openvds.core.MetadataContainer, category: str, name: str, value: Tuple[float, float, float]) None
- setMetadataFloatVector4(self: openvds.core.MetadataContainer, category: str, name: str, value: Tuple[float, float, float, float]) None
- setMetadataInt(self: openvds.core.MetadataContainer, category: str, name: str, value: int) None
- setMetadataIntVector2(self: openvds.core.MetadataContainer, category: str, name: str, value: Tuple[int, int]) None
- setMetadataIntVector3(self: openvds.core.MetadataContainer, category: str, name: str, value: Tuple[int, int, int]) None
- setMetadataIntVector4(self: openvds.core.MetadataContainer, category: str, name: str, value: Tuple[int, int, int, int]) None
- setMetadataString(self: openvds.core.MetadataContainer, category: str, name: str, value: str) None
- class openvds.MetadataReadAccess
Interface for read access to Metadata
- getMetadata(*args, **kwargs)
Overloaded function.
getMetadata(self: openvds.core.MetadataReadAccess, key: openvds.core.MetadataKey) -> PyMetadataVariant
getMetadata(self: openvds.core.MetadataReadAccess, category: str, name: str, type: openvds.core.MetadataType) -> PyMetadataVariant
- getMetadataBLOB(self: openvds.core.MetadataReadAccess, category: str, name: str) openvds.core.BLOB
- getMetadataDouble(self: openvds.core.MetadataReadAccess, category: str, name: str) float
- getMetadataDoubleVector2(self: openvds.core.MetadataReadAccess, category: str, name: str) Tuple[float, float]
- getMetadataDoubleVector3(self: openvds.core.MetadataReadAccess, category: str, name: str) Tuple[float, float, float]
- getMetadataDoubleVector4(self: openvds.core.MetadataReadAccess, category: str, name: str) Tuple[float, float, float, float]
- getMetadataFloat(self: openvds.core.MetadataReadAccess, category: str, name: str) float
- getMetadataFloatVector2(self: openvds.core.MetadataReadAccess, category: str, name: str) Tuple[float, float]
- getMetadataFloatVector3(self: openvds.core.MetadataReadAccess, category: str, name: str) Tuple[float, float, float]
- getMetadataFloatVector4(self: openvds.core.MetadataReadAccess, category: str, name: str) Tuple[float, float, float, float]
- getMetadataInt(self: openvds.core.MetadataReadAccess, category: str, name: str) int
- getMetadataIntVector2(self: openvds.core.MetadataReadAccess, category: str, name: str) Tuple[int, int]
- getMetadataIntVector3(self: openvds.core.MetadataReadAccess, category: str, name: str) Tuple[int, int, int]
- getMetadataIntVector4(self: openvds.core.MetadataReadAccess, category: str, name: str) Tuple[int, int, int, int]
- getMetadataKeys(self: openvds.core.MetadataReadAccess) openvds.core.MetadataKeyRange
- getMetadataString(self: openvds.core.MetadataReadAccess, category: str, name: str) str
- isMetadataBLOBAvailable(self: openvds.core.MetadataReadAccess, category: str, name: str) bool
- isMetadataDoubleAvailable(self: openvds.core.MetadataReadAccess, category: str, name: str) bool
- isMetadataDoubleVector2Available(self: openvds.core.MetadataReadAccess, category: str, name: str) bool
- isMetadataDoubleVector3Available(self: openvds.core.MetadataReadAccess, category: str, name: str) bool
- isMetadataDoubleVector4Available(self: openvds.core.MetadataReadAccess, category: str, name: str) bool
- isMetadataFloatAvailable(self: openvds.core.MetadataReadAccess, category: str, name: str) bool
- isMetadataFloatVector2Available(self: openvds.core.MetadataReadAccess, category: str, name: str) bool
- isMetadataFloatVector3Available(self: openvds.core.MetadataReadAccess, category: str, name: str) bool
- isMetadataFloatVector4Available(self: openvds.core.MetadataReadAccess, category: str, name: str) bool
- isMetadataIntAvailable(self: openvds.core.MetadataReadAccess, category: str, name: str) bool
- isMetadataIntVector2Available(self: openvds.core.MetadataReadAccess, category: str, name: str) bool
- isMetadataIntVector3Available(self: openvds.core.MetadataReadAccess, category: str, name: str) bool
- isMetadataIntVector4Available(self: openvds.core.MetadataReadAccess, category: str, name: str) bool
- isMetadataStringAvailable(self: openvds.core.MetadataReadAccess, category: str, name: str) bool
- class openvds.MetadataWriteAccess
Interface for write access to Metadata
- clearMetadata(*args, **kwargs)
Overloaded function.
clearMetadata(self: openvds.core.MetadataWriteAccess, category: str, name: str) -> None
clearMetadata(self: openvds.core.MetadataWriteAccess, category: str) -> None
- copyMetadata(self: openvds.core.MetadataWriteAccess, category: str, metadataReadAccess: openvds.core.MetadataReadAccess) None
Copy the metadata from another MetadataContainer
Parameters:
- category :
the metadata category to copy
- metadataReadAccess :
the MetadataReadAccess interface to copy from
- setMetadataBLOB(self: openvds.core.MetadataWriteAccess, category: str, name: str, data: buffer) None
- setMetadataDouble(self: openvds.core.MetadataWriteAccess, category: str, name: str, value: float) None
- setMetadataDoubleVector2(self: openvds.core.MetadataWriteAccess, category: str, name: str, value: Tuple[float, float]) None
- setMetadataDoubleVector3(self: openvds.core.MetadataWriteAccess, category: str, name: str, value: Tuple[float, float, float]) None
- setMetadataDoubleVector4(self: openvds.core.MetadataWriteAccess, category: str, name: str, value: Tuple[float, float, float, float]) None
- setMetadataFloat(self: openvds.core.MetadataWriteAccess, category: str, name: str, value: float) None
- setMetadataFloatVector2(self: openvds.core.MetadataWriteAccess, category: str, name: str, value: Tuple[float, float]) None
- setMetadataFloatVector3(self: openvds.core.MetadataWriteAccess, category: str, name: str, value: Tuple[float, float, float]) None
- setMetadataFloatVector4(self: openvds.core.MetadataWriteAccess, category: str, name: str, value: Tuple[float, float, float, float]) None
- setMetadataInt(self: openvds.core.MetadataWriteAccess, category: str, name: str, value: int) None
- setMetadataIntVector2(self: openvds.core.MetadataWriteAccess, category: str, name: str, value: Tuple[int, int]) None
- setMetadataIntVector3(self: openvds.core.MetadataWriteAccess, category: str, name: str, value: Tuple[int, int, int]) None
- setMetadataIntVector4(self: openvds.core.MetadataWriteAccess, category: str, name: str, value: Tuple[int, int, int, int]) None
- setMetadataString(*args, **kwargs)
Overloaded function.
setMetadataString(self: openvds.core.MetadataWriteAccess, category: str, name: str, value: str) -> None
setMetadataString(self: openvds.core.MetadataWriteAccess, category: str, name: str, value: str) -> None
- class openvds.VolumeDataPageAccessor
- class AccessMode
Members:
AccessMode_ReadOnly : < The volume data page accessor will only be used for reading
AccessMode_ReadWrite : < The volume data page accessor will be used for reading and writing
(can only be used with LOD 0, the other LODs will be automatically updated)
AccessMode_Create : < The volume data page accessor will be used to write new data,
overwriting any existing data (can only be used with LOD 0, the other LODs will be automatically created)
AccessMode_CreateWithoutLODGeneration : < The volume data page accessor will be used to write new data,
overwriting any existing data (each LOD has to be created separately)
AccessMode_ReadWriteWithoutLODGeneration : < The volume data page accessor will be used used for reading and
writing (each LOD has to be created separately)
- property name
- addReference(self: openvds.core.VolumeDataPageAccessor) int
- commit(self: openvds.core.VolumeDataPageAccessor) None
- copyPage(self: openvds.core.VolumeDataPageAccessor, chunkIndex: int, source: openvds.core.VolumeDataPageAccessor) None
Copy a page of data from another VolumeDataPageAccessor with a compatible layout. This method is not blocking so if you want to access the copied data you need to call ReadPage which will block until the copy is done and return the copied data.
Parameters:
- chunkIndex :
The chunk index to copy
- source :
The VolumeDataPageAccessor to copy data from
- createPage(self: openvds.core.VolumeDataPageAccessor, chunkIndex: int) openvds.core.VolumeDataPage
- getChannelDescriptor(self: openvds.core.VolumeDataPageAccessor) OpenVDS::VolumeDataChannelDescriptor
- getChannelIndex(self: openvds.core.VolumeDataPageAccessor) int
- getChunkCount(self: openvds.core.VolumeDataPageAccessor) int
- getChunkIndex(self: openvds.core.VolumeDataPageAccessor, position: numpy.ndarray[numpy.int32]) int
- getChunkIndicesInSuperChunk(self: openvds.core.VolumeDataPageAccessor, superChunkIndex: int) List[int]
- getChunkMinMax(*args, **kwargs)
Overloaded function.
getChunkMinMax(self: openvds.core.VolumeDataPageAccessor, chunk: int, min: numpy.ndarray[numpy.int32], max: numpy.ndarray[numpy.int32]) -> None
getChunkMinMax(self: openvds.core.VolumeDataPageAccessor, chunk: int) -> Tuple[List[int[6]], List[int[6]]]
- getChunkMinMaxExcludingMargin(*args, **kwargs)
Overloaded function.
getChunkMinMaxExcludingMargin(self: openvds.core.VolumeDataPageAccessor, chunk: int, minExcludingMargin: numpy.ndarray[numpy.int32], maxExcludingMargin: numpy.ndarray[numpy.int32]) -> None
getChunkMinMaxExcludingMargin(self: openvds.core.VolumeDataPageAccessor, chunk: int) -> Tuple[List[int[6]], List[int[6]]]
- getChunkVolumeDataHash(self: openvds.core.VolumeDataPageAccessor, chunkIndex: int) int
Get the volume data hash for the given chunk index. The value returned may be tested using the methods VolumeDataHash_IsDefined, VolumeDataHash_IsNoValue, and VolumeDataHash_IsConstant defined in VolumeData.h.
Parameters:
- chunkIndex :
The chunk index to get the volume data hash for.
Returns:
The volume data hash for the chunk.
- getLOD(self: openvds.core.VolumeDataPageAccessor) int
- getLayout(self: openvds.core.VolumeDataPageAccessor) OpenVDS::VolumeDataLayout
- getMappedChunkIndex(self: openvds.core.VolumeDataPageAccessor, primaryChannelChunkIndex: int) int
Get the chunk index for this VolumeDataPageAccessor corresponding to the given chunk index in the primary channel. Because some channels can have mappings (e.g. one value per trace), the number of chunks can be less than in the primary channel and we need to have a mapping to figure out the chunk index in each channel that is produced together.
Parameters:
- primaryChannelChunkIndex :
The index of the chunk in the primary channel (channel 0) that we want to map to a chunk index for this VolumeDataPageAccessor.
Returns:
The chunk index for this VolumeDataPageAccessor corresponding to the given chunk index in the primary channel.
- getMaxPages(self: openvds.core.VolumeDataPageAccessor) int
- getNumSamples(*args, **kwargs)
Overloaded function.
getNumSamples(self: openvds.core.VolumeDataPageAccessor, numSamples: numpy.ndarray[numpy.int32]) -> None
getNumSamples(self: openvds.core.VolumeDataPageAccessor) -> List[int[6]]
- getPrimaryChannelChunkIndex(self: openvds.core.VolumeDataPageAccessor, chunkIndex: int) int
Get the primary channel chunk index corresponding to the given chunk index of this VolumeDataPageAccessor. In order to avoid creating duplicates requests when a channel is mapped, we need to know which primary channel chunk index is representative of a particular mapped chunk index.
Parameters:
- chunkIndex :
The chunk index for this VolumeDataPageAccessor that we want the representative primary channel chunk index of.
Returns:
The primary channel chunk index corresponding to the given chunk index for this VolumeDataPageAccessor.
- getSuperChunkCount(self: openvds.core.VolumeDataPageAccessor) int
Get the number of super-chunks for this VolumeDataPageAccessor. Each super-chunk is an overlapping block of chunks from the remap source of this VolumeDataPageAccessor and the chunks in this VolumeDataPageAccessor. In order to produce the chunks as efficiently as possible (if there are more chunks than super-chunks), any code that iterates over all the chunks of a page accessor should iterate over the super-chunks and then over the chunks within each super- chunk.
Returns:
The number of super-chunks for this VolumeDataPageAccessor.
- readPage(self: openvds.core.VolumeDataPageAccessor, chunkIndex: int) openvds.core.VolumeDataPage
- readPageAtPosition(self: openvds.core.VolumeDataPageAccessor, position: numpy.ndarray[numpy.int32]) openvds.core.VolumeDataPage
- removeReference(self: openvds.core.VolumeDataPageAccessor) int
- setMaxPages(self: openvds.core.VolumeDataPageAccessor, maxPages: int) None
- property superChunkCount
Get the number of super-chunks for this VolumeDataPageAccessor. Each super-chunk is an overlapping block of chunks from the remap source of this VolumeDataPageAccessor and the chunks in this VolumeDataPageAccessor. In order to produce the chunks as efficiently as possible (if there are more chunks than super-chunks), any code that iterates over all the chunks of a page accessor should iterate over the super-chunks and then over the chunks within each super- chunk.
Returns:
The number of super-chunks for this VolumeDataPageAccessor.
- class openvds.VolumeDataPage
- getBuffer(self: openvds.core.VolumeDataPage) memoryview
- getError(self: openvds.core.VolumeDataPage) OpenVDS::ReadErrorException
- getMinMax(*args, **kwargs)
Overloaded function.
getMinMax(self: openvds.core.VolumeDataPage, min: numpy.ndarray[numpy.int32], max: numpy.ndarray[numpy.int32]) -> None
getMinMax(self: openvds.core.VolumeDataPage) -> Tuple[List[int[6]], List[int[6]]]
- getMinMaxExcludingMargin(*args, **kwargs)
Overloaded function.
getMinMaxExcludingMargin(self: openvds.core.VolumeDataPage, minExcludingMargin: numpy.ndarray[numpy.int32], maxExcludingMargin: numpy.ndarray[numpy.int32]) -> None
getMinMaxExcludingMargin(self: openvds.core.VolumeDataPage) -> Tuple[List[int[6]], List[int[6]]]
- getVolumeDataPageAccessor(self: openvds.core.VolumeDataPage) OpenVDS::VolumeDataPageAccessor
- getWritableBuffer(self: openvds.core.VolumeDataPage) memoryview
- release(self: openvds.core.VolumeDataPage) None
- updateWrittenRegion(self: openvds.core.VolumeDataPage, writtenMin: numpy.ndarray[numpy.int32], writtenMax: numpy.ndarray[numpy.int32]) None