Quickstart

Client setup and authentication

All data in CDF are stored in a CDF tenant, identified by a project name. To specify the project or tenant to work on, set the COGNITE_PROJECT environment variable or use the project keyword argument to the CogniteSeismicClient constructor.

The preferred way to authenticate against the Cognite API is by setting the COGNITE_API_KEY environment variable. All examples in this documentation require that the variable has been set.

$ export COGNITE_PROJECT = example-project
$ export COGNITE_API_KEY = <your-api-key>

You can also pass your API key directly to the CogniteClient.

>>> from cognite.seismic import CogniteSeismicClient
>>> client = CogniteSeismicClient(project = "example-project", api_key="<your-api-key>")

API v0 (beta)

Client

class cognite.seismic.CogniteSeismicClient(api_key=None, base_url=None, port=None, custom_root_cert=None, *, insecure=False, project=None, no_retries=False, max_message_size_MB=10, oidc_token=None)

Main class for the seismic client.

Parameters:
  • api_key (Optional[str]) – An API key. Equivalent to setting the COGNITE_API_KEY environment variable.
  • base_url (Optional[str]) – The url to connect to. Defaults to api.cognitedata.com.
  • port (Optional[int]) – The port to connect to. Defaults to 443.
  • custom_root_cert (Optional[str]) – A custom root certificate for SSL connections. Should not need to be used by general users.
  • insecure (bool) – If true, will attempt to connect without SSL. Should not be used by general users.
  • project (str) – The name of the project to call API endpoints against.
  • no_retries (bool) – If true, will not automatically retry failed requests.
  • max_message_size_MB (int) – The max message size of gRPC replies. Defaults to 10.
  • oidc_token (Optional[str | Callable[[], str]]) – If specified, will attempt to connect to the seismic service using an OIDC token. This should be either a string or a callable.

A client object has a number of members for accessing the various parts of the API.

The v0 API is being supplanted by the v1 API, which is more compact and has more sophisticated data management capabilities, but the service is still in a transition phase and both API versions are supported. Note that multi-tiered storage data and partitioned data access control is not available in the v0 API.

Client object members for v0
client.survey Surveys
client.file Files
client.job Ingestion job status
client.slice Slice
client.slab Time/depth slice
client.time_slice Time/depth slice
client.trace Trace
client.volume Volume

Surveys

Register a survey

SurveyAPI.register(survey_name: str, metadata: dict = None, external_id: Optional[str] = None, crs: Optional[str] = None, grid_transformation: Union[cognite.seismic.data_classes.api_types.P6Transformation, List[cognite.seismic.data_classes.api_types.DoubleTraceCoordinates], cognite.seismic.data_classes.api_types.DeduceFromTraces, None] = None, custom_coverage_wkt: Optional[str] = None, custom_coverage_geojson: Optional[dict] = None)

Finds surveys for which the coverage area intersects with the given set of coordinates or exact metadata key-value match.

Parameters:
  • survey_name (str) – survey name.
  • metadata (dict) – metadata of the survey.
  • external_id – external id of the survey.
  • crs (Optional[str]) – Coordinate reference system to be used by all members of this survey
  • grid_transformation (Optional[SurveyGridTransformation]) – Manually specify an affine transformation between bin grid coordinates and projected crs coordinates, either using an origin point and the azimuth of the xline axis (P6Transformation) or by specifying three or more corners of the grid as a list of DoubleTraceCoordinates. This transformation must be valid for all members of this survey. If this is provided, crs must also be provided.
  • custom_coverage_wkt (Optional[str]) – Specify a custom coverage polygon for this survey in the wkt format
  • custom_coverage_geojson (Optional[dict]) – Specify a custom coverage polygon for this survey in the geojson format
Returns:

id, name and metadata of the survey.

Return type:

RegisterSurveyResponse

Edit a survey

SurveyAPI.edit(survey_id: Optional[str] = None, survey_name: Optional[str] = None, metadata: dict = None, external_id: Optional[str] = None, crs: Optional[str] = None, grid_transformation: Union[cognite.seismic.data_classes.api_types.P6Transformation, List[cognite.seismic.data_classes.api_types.DoubleTraceCoordinates], cognite.seismic.data_classes.api_types.DeduceFromTraces, None] = None, custom_coverage_wkt: Optional[str] = None, custom_coverage_geojson: Optional[dict] = None, clear_custom_coverage: Optional[bool] = False)

Edit a survey

Parameters:
  • survey_id (Optional[str]) – id of the survey to edit.
  • survey_name (Optional[str]) – name of the survey to edit.
  • metadata (dict) – metadata of the survey to edit.
  • external_id (Optional[str]) – external id of the survey
  • crs (Optional[str]) – Coordinate reference system to be used by all members of this survey
  • grid_transformation (Optional[SurveyGridTransformation]) – Manually specify an affine transformation between bin grid coordinates and projected crs coordinates, either using an origin point and the azimuth of the xline axis (P6Transformation) or by specifying three or more corners of the grid as a list of DoubleTraceCoordinates. This transformation must be valid for all members of this survey.
  • custom_coverage_wkt (Optional[str]) – Specify a custom coverage polygon for this survey in the wkt format
  • custom_coverage_geojson (Optional[dict]) – Specify a custom coverage polygon for this survey in the geojson format
  • clear_custom_coverage (Optional[bool]) – Set this to True to clear the custom coverage from this survey, so that coverage is computed as a union of the included objects.
Returns:

id, name and metadata of the survey.

Return type:

EditSurveyResponse

Retrieve an survey by id or name

SurveyAPI.get(survey_id: Optional[str] = None, survey_name: Optional[str] = None, list_files: bool = False, include_metadata: bool = False, crs: Optional[str] = None, in_wkt: Optional[bool] = None, include_grid_transformation: Optional[bool] = False, include_custom_coverage: Optional[bool] = False)

Get a survey by either id or name. Provide either crs or in_wkt to get survey coverage.

Parameters:
  • survey_id (str, optional) – survey id.
  • survey_name (str, optional) – survey name.
  • list_files (bool) – true if the files from this survey should be listed.
  • include_metadata (bool) – true if metadata should be included in the response.
  • crs – the crs in which the survey coverage is returned, default is original survey crs
  • in_wkt – survey coverage format, set to true if wkt format is needed, default is geojson format
  • include_grid_transformation (bool, optional) – if set to True, return the user-specified transformation between bin grid and projected coordinates
  • include_custom_coverage (bool, optional) – if set to True, return the customer-specified survey coverage
Returns:

the requested survey, its files and coverage (if requested).

Return type:

GetSurveyResponse

List all the surveys

SurveyAPI.list(list_files: bool = False, include_metadata: bool = False, include_grid_transformation: Optional[bool] = False, include_custom_coverage: Optional[bool] = False)

List all the surveys.

Parameters:
  • list_files (bool) – true if the files from the surveys should be listed.
  • include_metadata (bool) – true if metadata should be included in the response.
  • include_grid_transformation (bool, optional) – if set to True, return the user-specified transformation between bin grid and projected coordinates
  • include_custom_coverage (bool, optional) – if set to True, return the customer-specified survey coverage
Returns:

the requested surveys and their files (if requested).

Return type:

SurveyWithFilesResponse

Search for surveys

SurveyAPI.search(crs: str, wkt: str = None, geo_json: dict = None, survey_metadata_filter: dict = None, file_metadata_filter: dict = None, include_metadata: bool = False)

Finds surveys for which the coverage area intersects with the given set of coordinates or exact metadata key-value match.

Parameters:
  • crs (str) – CRS (Ex.: “EPSG:23031”).
  • wkt (str) – Interested area represented in WKT format. At max one geometry representation should be provided.
  • geo_json (dict) – Interested area represented in GeoJson format. At max one geometry representation should be provided.
  • survey_metadata_filter (dict) – survey metadata to filter.
  • file_metadata_filter (dict) – file metadata to filter.
  • include_metadata (bool) – true of metadata should be included in the response.
Returns:

the requested surveys and their files (if requested).

Return type:

SurveyWithFilesResponse

Types for bin grid to projected coordinates transformation

class cognite.seismic.data_classes.api_types.DeduceFromTraces

Pass an instance of this class as the grid_transformation argument to indicate that the seismics service should try to deduce the affine transformation between bin grid coordinates and projected coordinates from the trace coordinates themselves.

class cognite.seismic.data_classes.api_types.DoubleTraceCoordinates

The coordinates of a point, given in both projected coordinates (x, y) and in bin grid coordinates (inline, xline).

Pass a list of three or more instances to specify the affine transformation between bin grid coordinates and projected coordinates by the corners of the grid.

x

Longitude or easting

Type:float
y

Latitude or northing

Type:float
inline

The inline coordinate of the bin grid

Type:int
xline

The xline coordinate of the bin grid

Type:int
class cognite.seismic.data_classes.api_types.Handedness

The handedness of a P6Transformation. RIGHTHANDED means that the inline axis is 90 degrees clockwise from the xline axis. LEFTHANDED means that the inline axis is 90 degrees counter-clockwise from the xline axis.

class cognite.seismic.data_classes.api_types.P6Transformation

Description of an affine transformation between bin grid coordinates and projected coordinates in the P6 format, loosely following IOGP guidance note 373-7-2 section 2.3.2.4.

origin

The origin point of the transformation

Type:DoubleTraceCoordinates
inline_bin_width

The width of bins in the inline direction

Type:float
xline_bin_width

The width of bins in the xline direction

Type:float
xline_azimuth

The direction of the xline axis, in degrees clockwise from north

Type:float
handedness

The orientation of the inline vs. the xline axes. Default: RIGHTHANDED.

Type:Optional[Handedness]
inline_bin_inc

The increment of the inline coordinate corresponding to a bin. Default: 1.

Type:Optional[int]
xline_bin_inc

The increment of the xline coordinate corresponding to a bin. Default: 1.

Type:Optional[int]

Files

Register a file

FileAPI.register(survey_id: Optional[str] = None, survey_name: Optional[str] = None, bucket: Optional[str] = None, file_name: str = None, crs: Optional[str] = None, metadata: dict = None, is_temporary: bool = False, inline_offset: Optional[int] = None, xline_offset: Optional[int] = None, cdp_x_offset: Optional[int] = None, cdp_y_offset: Optional[int] = None, source_group_scalar_override: Optional[float] = None, external_id: Optional[str] = None)

Register a file on a survey

Parameters:
  • survey_id (str) – The survey is identified by either the id or the name. If both are given, the id is used.
  • survey_name (str) – The survey is identified by either the id or the name. If both are given, the id is used.
  • bucket (str) – Path to the directory in Google Cloud Storage in which the file is stored
  • file_name (str) – The file name in Google Cloud Storage. Also used for identifying the file
  • crs (str, optional) – The CRS of the file. If not given, the CRS will be taken from the survey.
  • metadata (dict, optional) – A string -> string dictionary with any metadata to add about the file
  • is_temporary – is the file temporary - ie generated on the fly instead of being ingested from the bucket
  • inline_offset – Byte offset of inline number field in the trace headers. Defaults to 189 as per the SEG-Y rev1 specification
  • xline_offset – Byte offset of crossline number field in the trace headers. Defaults to 193 as per the SEG-Y rev1 specification
  • cdp_x_offset – Byte offset of x coordinate of ensemble (CDP) position in trace headers. Defaults to 181 as per the SEG-Y rev1 specification
  • cdp_y_offset – Byte offset of y coordinate of ensemble (CDP) position in trace headers. Defaults to 185 as per the SEG-Y rev1 specification
  • source_group_scalar_override

    Multiplier for CDP-X and CDP-Y values, overrides scalar factor obtained from trace header.

    Note that this is a straight multiplier to be applied, not a value to be interpreted like he SEG-Y trace header field. Valid values for this parameter are in the range 0.0 < n <= 1.0

  • external_id – An optional external id for a file
  • dimensions – The dimensionality of the file data, either 2 or 3. Defaults to 3D if omitted
Returns:

The response from the gRPC server with the id the file was registered on.

Ingest a file

FileAPI.ingest(file_id: Optional[str] = None, file_name: Optional[str] = None, start_step: int = 1, storage_tier: Optional[str] = None)

Ingest a registered file.

Parameters:
  • file_id (str) – File id of the registered file.
  • file_name (str) – File name of the registered file.
  • start_step (int) –

    Selected step to start ingestion. Leave blank to start from last completed step. 0: REGISTER

    1: INSERT_FILE_HEADERS

    2: INSERT_TRACE_HEADERS

    3: INSERT_DATA

    4: COMPUTE_COVERAGE

    5: COMPUTE_GRID

    6: COMPUTE_TRACE_INDICES

  • storage_tier (str) – Optional target storage tier. Leave blank to use the default storage tier. EARLY ACCESS: Tiered storage is available in preview for select clients. Tier names and configurations are client specific and not further documented here.
Returns:

a Job id that can be used to query for status of the ingestion job, and the file id.

Return type:

IngestFileResponse

Edit a file

FileAPI.edit(file_id: Optional[str] = None, file_name: Optional[str] = None, bucket: str = None, new_name: str = None, metadata: dict = None, crs: str = None, inline_offset: Optional[int] = None, xline_offset: Optional[int] = None, cdp_x_offset: Optional[int] = None, cdp_y_offset: Optional[int] = None, source_group_scalar_override: Optional[float] = None, external_id: Optional[str] = None)

Edit a file by either its id or name.

Parameters:
  • file_id (str) – Id of the file.
  • name (str) – Name of the file.
  • bucket (str) – New path of the file.
  • new_name (str) – New name of the file.
  • metadata (dict) – New metadata of the file.
  • crs (str) – New CRS of the file.
  • inline_offset – Byte offset of inline number field in the trace headers.
  • xline_offset – Byte offset of crossline number field in the trace headers.
  • cdp_x_offset – Byte offset of x coordinate of ensemble (CDP) position in trace headers.
  • cdp_y_offset – Byte offset of y coordinate of ensemble (CDP) position in trace headers.
  • source_group_scalar_override

    Multiplier for CDP-X and CDP-Y values, overrides scalar factor obtained from trace header.

    Note that this is a straight multiplier to be applied, not a value to be interpreted like he SEG-Y trace header field. Valid values for scalars multipliers are in the range 0.0 < n <= 1.0. To delete an existing source group scalar override set on a file, supply 0.0 or NaN in this argument.

  • external_id – External id of the file
Returns:

File information including file id, name, path and crs.

Return type:

EditFileResponse

Delete a file

FileAPI.delete(file_id: Optional[str] = None, file_name: Optional[str] = None, keep_registered: bool = None)

Delete a file by either its id or name

Parameters:
  • file_id – Id of the file.
  • file_name – Name of the file.
  • keep_registered – True if the file should be kept registered.
Returns:

Nothing

Get a file

FileAPI.get(file_id: Optional[str] = None, file_name: Optional[str] = None)

Get a file by either id or name.

Parameters:
  • file_id (str) – Id of the file.
  • file_name (str) – Name of the file.
Returns:

File information including file id and name, crs, path, survey_name and the last step of

the ingestion job

Return type:

GetFileResponse

Get binary header

FileAPI.get_binary_header(file_id: Optional[str] = None, file_name: Optional[str] = None, include_raw_header=False)

Get binary header of a file by either its id or name

Parameters:
  • file_id (str) – Id of the file.
  • file_name (str) – Name of the file.
  • include_raw_header (bool) – True of raw header should be included.
Returns:

binary header

Return type:

GetBinaryHeaderResponse

Get text header

FileAPI.get_text_header(file_id: Optional[str] = None, file_name: Optional[str] = None, include_raw_header=False)

Get text header of a file by either its id or name.

Parameters:
  • file_id (str) – Id of the file.
  • file_name (str) – Name of the file.
  • include_raw_header (bool) – True of the raw header should be included.
Returns:

text header

Return type:

GetTextHeaderResponse

Get file coverage

FileAPI.get_file_coverage(file_id: Optional[str] = None, file_name: Optional[str] = None, crs: Optional[str] = None, in_wkt: bool = False)

Get the coverage polygon for a given file identified by either its id or name

Parameters:
  • file_id (str) – Id of the file.
  • file_name (str) – Name of the file.
  • crs (str) – (Optional) converts coverage to given CRS if provided. Else returns the original.
  • in_wkt (bool) – True to return WKT, False (default) to return geoJson.
Returns:

coverage polygon.

Return type:

DataCoverageResponse

Get full SEGY file

FileAPI.get_segy(file_id: Optional[str] = None, file_name: Optional[str] = None)

Get a full SEGY file by either its id or name

Parameters:
  • file_id (str) – Id of the file.
  • file_name (str) – Name of the file.
Returns:

SEGY file

Return type:

SegYQueryResponse

Get SEGY file by inline and crossline ranges

FileAPI.get_segy_by_lines(top_left_inline: int, top_left_xline: int, bottom_right_inline: int, bottom_right_xline: int, file_id: Optional[str] = None, file_name: Optional[str] = None)

Get a part of a SEGY file with data inside a given range of inlines and xlines

Parameters:
  • file_id (str) – Id of the file.
  • file_name (str) – Name of the file.
  • top_left_inline (int) – Top left inline index.
  • top_left_xline (int) – Top left xline index.
  • bottom_right_inline (int) – Bottom right inline index.
  • bottom_right_xline (int) – Bottom right xline index.
Returns:

SEGY file

Return type:

SegYQueryResponse

Get SEGY file by an polygon

FileAPI.get_segy_by_geometry(file_id: Optional[str] = None, file_name: Optional[str] = None, crs: str = None, wkt: str = None, geo_json=None)

Get a part of a SEGY file with data inside an arbitrary 2D polygon

Parameters:
  • file_id (str) – Id of the file.
  • file_name (str) – Name of the file.
  • crs (str) – CRS
  • wkt (str) – polygon in WKT format
  • geo_json (dict) – polygon in geoJson format

Returns:

Get the line range of a file

FileAPI.get_line_range(file_id: Optional[str] = None, file_name: Optional[str] = None)

Get the minimum and maximum xlines and inlines

Parameters:
  • file_id (str, optional) – File can be specified either by name or id (id will be used first if both are provided)
  • file_name (str, optional) – File can be specified either by name or id (id will be used first if both are provided)
Returns:

The line range

Get the range of crosslines by a specific inline

FileAPI.get_xlines_by_inline(file_id: Optional[str] = None, file_name: Optional[str] = None, inline: int = None)

Get the range of xlines by a specific inline

Parameters:
  • file_id (str, optional) – File can be specified either by name or id (id will be used first if both are provided)
  • file_name (str, optional) – File can be specified either by name or id (id will be used first if both are provided)
  • inline (int) – The inline for which to get a crossline
Returns:

The line range

Get the range of inlines by a specific crossline

FileAPI.get_inlines_by_xline(file_id: Optional[str] = None, file_name: Optional[str] = None, xline: int = None)

Get the range of inlines by a specific xline

Parameters:
  • file_id (str, optional) – File can be specified either by name or id (id will be used first if both are provided)
  • file_name (str, optional) – File can be specified either by name or id (id will be used first if both are provided)
  • xline (int) – The xline for which to get an inline
Returns:

The line range

Ingestion job status

Get the status of an ingestion job

JobAPI.status(job_id: str = None, file_id: str = None, seismicstore_id: int = None)

Get the status of an ingestion job

Parameters:
  • job_id (str) – The id of the job
  • file_id (str) – The id of the file being ingested
  • seismicstore_id (int) – The id of the seismicstore assigned to the file as part of ingestion
Returns:

The status of the job, including latest step performed

Slice

Get slice by arbitrary line

SliceAPI.get_arbitrary_line(file_id=None, file_name=None, x0=None, y0=None, x1=None, y1=None, crs=None, interpolation_method=1)

Returns a series of traces on an arbitrary line starting from (x0, yo) and ending in (x1, y1)

Currently, all the traces are snapped to the grid inlines or xlines

Parameters:
  • file_id (str, optional) – File can be specified either by name or id (id will be used first if both are provided)
  • file_name (str, optional) – File can be specified either by name or id (id will be used first if both are provided)
  • crs (str) – Specify the CRS in which the coordinates x0, y0, x1 and y1 are given (Ex.: “EPSG:23031”)
  • interpolation_method (int, optional) – Specify the interpolation_method. Currently possible are 0 for snapping the traces to the nearest grid points (inlines or xlines) or 1 for weighing the nearest traces on each side of the line
Returns:

Series of traces composing the line. The line can be converted to a 2D numpy array with just the values calling .to_array() on it

Time/depth slice

Get a seismic slab along a horizon or constant depth bounded by inline and xline ranges

SlabAPI.get(file_id: Optional[str] = None, file_name: Optional[str] = None, inline_range: Tuple[int, int] = None, xline_range: Tuple[int, int] = None, z: int = None, surface: List[List[int]] = None, n_below: int = None, n_above: int = None)

Get a seismic slab along a surface or constant depth bounded by inline and xline ranges

Parameters:
  • file_id (str, optional) – File can be specified either by name or id (id will be used first if both are provided)
  • file_name (str, optional) – File can be specified either by name or id (id will be used first if both are provided)
  • inline_range (int tuple, optional) – filter volume by min and max inline indices
  • xline_range (int tuple, optional) – filter volume by min and max xline indices
  • n_below (int, optional) – number of trace values to retrieve above given surface/depth
  • n_above (int, optional) – number of trace values to retrieve below given surface/depth
  • z (int) – The depth index to return
  • surface (List[List[int]], optional) – The surface to use as the depth indices across the returned traces
Returns:

Flattened numpy array representing the seismic slab. Dims are (inline, crossline, z_offset)

Get a horizontal slice for a given depth or time and constrained by an arbitrary 2D polygon

TimeSliceAPI.get_time_slice_by_geometry(file_id: Optional[str] = None, file_name: Optional[str] = None, crs: str = None, wkt: str = None, geo_json=None, z: int = None)

Get a horizontal slice for a given depth or time and constrained by an arbitrary 2D polygon

Parameters:
  • file_id (str, optional) – File can be specified either by name or id (id will be used first if both are provided)
  • file_name (str, optional) – File can be specified either by name or id (id will be used first if both are provided)
  • crs (str) – Specify the CRS in which the coordinates x0, y0, x1 and y1 are given (Ex.: “EPSG:23031”)
  • wkt (str, optional) – Geometry can be specified either by wkt or geo json (wkt will be used first if both are provided)
  • geo_json (str, optional) – Geometry can be specified either by wkt or geo json (wkt will be used first if both are provided)
  • z (int) – The depth index to return
Returns:

A slice of trace data

Trace

Get a trace from a specified inline and crossline position

TraceAPI.get_trace_by_line(file_id: Optional[str] = None, file_name: Optional[str] = None, inline: int = None, xline: int = None, include_trace_header: bool = False, include_trace_data: bool = False, include_trace_coordinates: bool = False)

Get a trace from a specified inline and xline position

Parameters:
  • file_id (str, optional) – File can be specified either by name or id (id will be used first if both are provided)
  • file_name (str, optional) – File can be specified either by name or id (id will be used first if both are provided)
  • inline (int) – Inline number
  • xline (int) – Xline number
  • include_trace_coordinates (bool, optional) – Include the trace coordinates
  • include_trace_data (bool, optional) – Include the trace data
  • include_trace_header (bool, optional) – Include the trace header
Returns:

Trace data

Get a trace from a specified coordinate position

TraceAPI.get_trace_by_coordinates(file_id: Optional[str] = None, file_name: Optional[str] = None, x: float = None, y: float = None, max_radius: float = None, include_trace_header: bool = False)

Get a trace from a specified coordinate position

Parameters:
  • file_id (str, optional) – File can be specified either by name or id (id will be used first if both are provided)
  • file_name (str, optional) – File can be specified either by name or id (id will be used first if both are provided)
  • x (float) – The x coordinate
  • y (float) – The y coordinate
  • max_radius (float, optional) – If not given, uses N
  • include_trace_header (bool, optional) – Include the trace header
Returns:

Trace data

Volume

Get a volume of traces from a file

VolumeAPI.get(file_id: Optional[str] = None, file_name: Optional[str] = None, inline_range: Optional[Tuple[int, int]] = None, xline_range: Optional[Tuple[int, int]] = None, z_index_range: Optional[Tuple[int, int]] = None, include_trace_header=False)

Get a volume of traces from a file. The volume can be sliced in any direction.

Parameters:
  • file_id (str, optional) – File can be specified either by name or id (id will be used first if both are provided)
  • file_name (str, optional) – File can be specified either by name or id (id will be used first if both are provided)
  • inline_range (int tuple, optional) – filter volume by min and max inline indices
  • xline_range (int tuple, optional) – filter volume by min and max xline indices
  • z_index_range (int tuple, optional) – filter volume by min and max z indices
  • include_trace_header (bool, optional) – Include the trace headers (default false)
Returns:

Volume of traces in specified ranges. If no slices are specified, returns all the traces in the seg-y file

Get a cube of trace data from a specified geometry

VolumeAPI.get_cube_by_geometry(file_id: Optional[str] = None, file_name: Optional[str] = None, crs: str = None, wkt: str = None, geo_json=None, include_trace_header: bool = False)

Get a cube of trace data from a specified geometry

Parameters:
  • file_id (str, optional) – File can be specified either by name or id (id will be used first if both are provided)
  • file_name (str, optional) – File can be specified either by name or id (id will be used first if both are provided)
  • crs (str) – Specify the CRS in which the coordinates x0, y0, x1 and y1 are given (Ex.: “EPSG:23031”)
  • wkt (str, optional) – Geometry can be specified either by wkt or geo json (wkt will be used first if both are provided)
  • geo_json (str, optional) – Geometry can be specified either by wkt or geo json (wkt will be used first if both are provided)
  • include_trace_header (bool, optional) – Include the trace headers (default false)
Returns:

Cube of trace data

Store a single trace to a temporary file

VolumeAPI.store(file_id: Optional[str] = None, file_name: Optional[str] = None, inline: int = None, xline: int = None, trace: List[float] = None, x: Optional[int] = None, y: Optional[int] = None, trace_header: Optional[ByteString] = None)

Store a single trace in a given grid position of a temporary file.

Alpha API, expected to change.

Parameters:
  • file_id (str, optional) – File can be specified either by name or id (id will be used first if both are provided)
  • file_name (str, optional) – File can be specified either by name or id (id will be used first if both are provided)
  • inline (int) – Inline of the grid position where the trace should be stored.
  • xline (int) – Xline of the grid position where the trace should be stored.
  • trace (list[Float]) – Trace data to be stored. No length requirement or other data consistency constraints are enforced.
  • x (int, optional) – X coordinate of the trace, in the CRS of the file.
  • y (int, optional) – X coordinate of the trace, in the CRS of the file.
  • trace_header (ByteString, optional) – Trace header data to be stored along with the trace. Again, no data consistency requirements are enforced, you are on your own here.

Deprecated Methods

The following methods are not recommended for use. They were developed as technical previews to support specific usage patterns, but since their release new methods to accomplish the same thing, often in a better way, have been developed. These API methods are not likely to provide the best possible performance, and will not receive further updates or improvements.

They remain accessible for transitions, but will be removed when no usage has been detected for a period.

Slice

Get slice by inline

SliceAPI.get_inline(inline, file_id=None, file_name=None, include_headers=False, from_line=None, to_line=None)

Gets the traces of an inline in a given file.

Parameters:
  • inline (int) – Inline number
  • file_id (str, optional) – File can be specified either by name or id (id will be used first if both are provided)
  • file_name (str, optional) – File can be specified either by name or id (id will be used first if both are provided)
  • include_headers (bool, optional) – Whether or not to include the trace headers in the response
  • from_line (int, optional) – Include only xlines equal or greater to this in the slice
  • to_line (int, optional) – Include only xlines equal or less than this in the slice
Returns:

Series of traces where each contains its inline, xline and the values. The line can be converted to a 2D numpy array with just the values calling .to_array() on it

Deprecated since version 0.1.57: Use volume API instead, for example: client.volume.get(file_id=”id”, inline_range=(inline, inline))

Get slice by crossline

SliceAPI.get_xline(xline, file_id=None, file_name=None, include_headers=False, from_line=None, to_line=None)

Gets the traces of a xline in a given file.

Parameters:
  • xline (int) – xline number
  • file_id (str, optional) – File can be specified either by name or id (id will be used first if both are provided)
  • file_name (str, optional) – File can be specified either by name or id (id will be used first if both are provided)
  • include_headers (bool, optional) – Whether or not to include the trace headers in the response
  • from_line (int, optional) – Include only inlines equal or greater to this in the slice
  • to_line (int, optional) – Include only inlines equal or less than this in the slice
Returns:

Series of traces where each contains its inline, xline and the values. The line can be converted to a 2D numpy array with just the values calling .to_array() on it

Deprecated since version 0.1.57: Use volume API instead, for example: client.volume.get(file_id=”id”, xline_range=(xline, xline))

Volume

Get a cube of trace data from a specified inline and crossline square

VolumeAPI.get_cube_by_lines(file_id: Optional[str] = None, file_name: Optional[str] = None, top_left_inline=None, top_left_xline=None, bottom_right_inline=None, bottom_right_xline=None, include_trace_header=False)

Get a cube of trace data from a specified inline and xline square

Parameters:
  • file_id (str, optional) – File can be specified either by name or id (id will be used first if both are provided)
  • file_name (str, optional) – File can be specified either by name or id (id will be used first if both are provided)
  • top_left_inline (int) – Top left inline number
  • top_left_xline (int) – Top left xline number
  • bottom_right_inline (int) – Bottom right inline number
  • bottom_right_xline (int) – Bottom right xline number
  • include_trace_header (bool, optional) – Include the trace headers (default false)
Returns:

Cube of trace data

Deprecated since version 0.1.57: Use VolumeAPI.get(inline_range=(top_left_inline, bottom_right_inline), xline_range=(top_left_xline, bottom_right_xline)) instead.

API v1 (beta)

These APIs are still in active development and changes are expected. We are building these with the intention to cover the functionality of the original API with a reduced API surface, more functionality and improved performance, and improved data management functionality.

Client

Creating a client

class cognite.seismic._api_client.CogniteSeismicClient(api_key=None, base_url=None, port=None, custom_root_cert=None, *, insecure=False, project=None, no_retries=False, max_message_size_MB=10, oidc_token=None)

Main class for the seismic client.

Parameters:
  • api_key (Optional[str]) – An API key. Equivalent to setting the COGNITE_API_KEY environment variable.
  • base_url (Optional[str]) – The url to connect to. Defaults to api.cognitedata.com.
  • port (Optional[int]) – The port to connect to. Defaults to 443.
  • custom_root_cert (Optional[str]) – A custom root certificate for SSL connections. Should not need to be used by general users.
  • insecure (bool) – If true, will attempt to connect without SSL. Should not be used by general users.
  • project (str) – The name of the project to call API endpoints against.
  • no_retries (bool) – If true, will not automatically retry failed requests.
  • max_message_size_MB (int) – The max message size of gRPC replies. Defaults to 10.
  • oidc_token (Optional[str | Callable[[], str]]) – If specified, will attempt to connect to the seismic service using an OIDC token. This should be either a string or a callable.

The v1 API is a more compact API than the v0 API, but largely supports the same query capabilities as the v0 API. The v1 API supports tiered storage and partitioned data access control, which are not available in the v0 API. File ingestion and job management is still only available in the v0 API, but these features will be included in the v1 APIs in the near future.

Note that both API versions are available on the same client object.

Client object members
client.survey_v1 Seismic Surveys
client.seismic Seismic Query Objects
client.volume_seismic Seismic trace data access
client.seismicstore Seismic Store Objects
client.partition Data Partitions
client.file_seismic SEG-Y download

Generating OIDC tokens

The oidc_token argument takes either a string (representing an OIDC token) or a callable that is expected to return an OIDC token when invoked. The method cognite.seismic.generate_oidc_token can be used to generate such a callable from token credentials.

seismic.generate_oidc_token(*, token_client_id: Optional[str] = None, token_client_secret: Optional[str] = None, token_scopes: Optional[str] = None, token_custom_args: Optional[Dict[str, str]] = None) → Callable[[], str]

Returns a callable that can be invoked to generate an OIDC token from info provided.

Parameters:
  • token_url (Optional[str]) – If none, will attempt to use the environmental variable COGNITE_TOKEN_URL.
  • token_client_id (Optional[str]) – The id for the token. If none, will attempt to use the environmental variable COGNITE_CLIENT_ID.
  • token_client_secret (Optional[str]) – The secret for the token. If none, will attempt to use the environmental variable COGNITE_CLIENT_SECRET.
  • token_scopes (Optional[str]) – A comma-separated list of token scopes. If none, will attempt to use the environmental variable COGNITE_TOKEN_SCOPES
  • token_custom_args (Optional[Dict[str, str]]) – Custom args for tokens.

Seismic Surveys

Surveys are groupings of seismic data sets, usually for a single area.

List surveys

SurveyV1API.list(list_seismics: bool = False, list_seismic_stores: bool = False, include_metadata: bool = False, crs: Optional[str] = None, in_wkt: Optional[bool] = None, include_grid_transformation: Optional[bool] = False, include_custom_coverage: Optional[bool] = False, coverage_source: cognite.seismic.data_classes.api_types.SurveyCoverageSource = <SurveyCoverageSource.UNSPECIFIED: 0>)

List all the surveys. Provide either crs or in_wkt to get surveys’ coverage.

Parameters:
  • list_seismics (bool) – true if the seismics ids from the surveys should be listed.
  • list_seismic_stores (bool) – true if seismic stores ids from the surveys should be listed. Only permitted if the user is a data manager (write access to all partitions).
  • include_metadata (bool) – true if metadata should be included in the response.
  • crs (str) – the crs in which the surveys’ coverage is returned, default is original survey crs
  • in_wkt (bool) – surveys’ coverage format, set to true if wkt format is needed, default is geojson format
  • include_grid_transformation (bool) – if set to True, return the user-specified transformation between bin grid and projected coordinates
  • include_custom_coverage (bool) – if set to True, return the customer-specified survey coverage
Returns:

the requested surveys and their files (if requested).

Return type:

List[Survey]

Search surveys

SurveyV1API.search(name_substring: Optional[str] = None, survey_name_substring: Optional[str] = None, external_id_substring: Optional[str] = None, survey_external_id_substring: Optional[str] = None, survey_contains_exact_metadata: Optional[Mapping[str, str]] = None, list_seismics: bool = False, list_seismic_stores: bool = False, include_metadata: bool = False, crs: Optional[str] = None, in_wkt: Optional[bool] = None, include_grid_transformation: Optional[bool] = False, include_custom_coverage: Optional[bool] = False, coverage_source: cognite.seismic.data_classes.api_types.SurveyCoverageSource = <SurveyCoverageSource.UNSPECIFIED: 0>)

Search for subset of surveys. Provide either crs or in_wkt to get surveys’ coverage.

Parameters:
  • name_substring (str) – find surveys whose name contains this substring
  • external_id_substring (str) – find surveys whose external id contains this substring
  • survey_contains_exact_metadata (Dict[str, str]) – find surveys whose metadata contains an exact match of the keys and values of the provided metadata. It is also case-sensitive.
  • list_seismics (bool) – true if the seismics ids from the surveys should be listed.
  • list_seismic_stores (bool) – true if seismic stores ids from the surveys should be listed. Only permitted if the user is a data manager (write access to all partitions).
  • include_metadata (bool) – true if metadata should be included in the response.
  • crs (str) – the crs in which the surveys’ coverage is returned, default is original survey crs
  • in_wkt (bool) – surveys’ coverage format, set to true if wkt format is needed, default is geojson format
  • include_grid_transformation (bool) – if set to True, return the user-specified transformation between bin grid and projected coordinates
  • include_custom_coverage (bool) – if set to True, return the customer-specified survey coverage
  • coverage_source (SurveyCoverageSource) – if specified, attempts to return the survey coverage from the given source. Defaults to unspecified, where the custom coverage will be prioritized.
Returns:

the requested surveys and their files (if requested).

Return type:

List[Survey]

Get one survey

SurveyV1API.get(id: Optional[str] = None, survey_id: Optional[str] = None, external_id: Optional[str] = None, survey_external_id: Optional[str] = None, name: Optional[str] = None, survey_name: Optional[str] = None, list_seismics: bool = False, list_seismic_stores: bool = False, include_metadata: bool = False, crs: Optional[str] = None, in_wkt: Optional[bool] = None, include_grid_transformation: Optional[bool] = False, include_custom_coverage: Optional[bool] = False, coverage_source: cognite.seismic.data_classes.api_types.SurveyCoverageSource = <SurveyCoverageSource.UNSPECIFIED: 0>) → cognite.seismic.data_classes.api_types.Survey

Get a survey by either id, external_id or name. Provide either crs or in_wkt to get survey coverage.

Parameters:
  • id (str, optional) – survey id.
  • external_id (str, optional) – survey external id.
  • name (str, optional) – survey name.
  • list_seismics (bool) – true if the ids of seismics from this survey should be listed.
  • list_seismic_stores (bool) – true if seismic stores ids from the surveys should be listed. Only permitted if the user is a data manager (write access to all partitions).
  • include_metadata (bool) – true if metadata should be included in the response.
  • crs (str) – the crs in which the survey coverage is returned, default is original survey crs
  • in_wkt (bool) – survey coverage format, set to true if wkt format is needed, default is geojson format
  • include_grid_transformation (bool) – if set to True, return the user-specified transformation between bin grid and projected coordinates
  • include_custom_coverage (bool) – if set to True, return the customer-specified survey coverage
  • coverage_source (SurveyCoverageSource) – if specified, attempts to return the survey coverage from the given source. Defaults to unspecified, where the custom coverage will be prioritized.
Returns:

the requested survey, its seismics, seismic stores and metadata (if requested).

Return type:

Survey

Register a new survey

SurveyV1API.register(name: str, survey_name: str, metadata: dict = None, external_id: Optional[str] = None, crs: Optional[str] = None, grid_transformation: Union[cognite.seismic.data_classes.api_types.P6Transformation, List[cognite.seismic.data_classes.api_types.DoubleTraceCoordinates], cognite.seismic.data_classes.api_types.DeduceFromTraces, None] = None, custom_coverage_wkt: Optional[str] = None, custom_coverage_geojson: Optional[dict] = None)

Creates a survey with the provided characteristics.

Deprecated in version 0.2.94. Will be removed in version 0.3.0.

Parameters:
  • survey_name (str) – survey name.
  • metadata (dict) – metadata of the survey.
  • external_id – external id of the survey.
  • crs (str) – Coordinate reference system to be used by all members of this survey
  • grid_transformation (SurveyGridTransformation) – Manually specify an affine transformation between bin grid coordinates and projected crs coordinates, either using an origin point and the azimuth of the xline axis (P6Transformation) or by specifying three or more corners of the grid as a list of DoubleTraceCoordinates. This transformation must be valid for all members of this survey.
  • custom_coverage_wkt (Optional[str]) – Specify a custom coverage polygon for this survey in the wkt format
  • custom_coverage_geojson (Optional[dict]) – Specify a custom coverage polygon for this survey in the geojson format
Returns:

id, name and metadata of the survey.

Return type:

RegisterSurveyResponse

Deprecated since version 0.2.94: This will be removed in 0.3.0. Use create() instead.

Edit a survey

SurveyV1API.edit(id: Optional[int] = None, external_id: Optional[str] = None, metadata: dict = None, new_external_id: Optional[str] = None, crs: Optional[str] = None, grid_transformation: Union[cognite.seismic.data_classes.api_types.P6Transformation, List[cognite.seismic.data_classes.api_types.DoubleTraceCoordinates], cognite.seismic.data_classes.api_types.DeduceFromTraces, None] = None, custom_coverage_wkt: Optional[str] = None, custom_coverage_geojson: Optional[dict] = None, clear_custom_coverage: Optional[bool] = False, name: Optional[str] = None)

Edit a survey This method replaces fields in an existing survey identified by either its id or external_id. Method parameters that are non-null will be used to replace the corresponding field in the survey object. Null (unspecified) method parameters will not affect a change to the survey object.

Parameters:
  • id (Optional[int]) – integer id of the survey to edit.
  • external_id (Optional[str]) – external id of the survey to edit. Either id or external_id must be specified.
  • metadata (dict) – metadata to be used by the survey.
  • new_external_id (Optiona[str]) – External id to be used by the survey.
  • crs (Optional[str]) – Coordinate reference system to be used by all members of this survey
  • grid_transformation (Optional[SurveyGridTransformation]) – Manually specify an affine transformation between bin grid coordinates and projected crs coordinates, either using an origin point and the azimuth of the xline axis (P6Transformation) or by specifying three or more corners of the grid as a list of DoubleTraceCoordinates. This transformation must be valid for all members of this survey.
  • custom_coverage_wkt (Optional[str]) – Specify a custom coverage polygon for this survey in the wkt format
  • custom_coverage_geojson (Optional[dict]) – Specify a custom coverage polygon for this survey in the geojson format
  • clear_custom_coverage (Optional[bool]) – Set this to True to clear the custom coverage from this survey, so that coverage is computed as a union of the coverage of the data sets included in the survey.
  • name (Optional[str]) – new name for the survey.
Returns:

id, name and metadata of the survey.

Return type:

Survey

Delete a survey

SurveyV1API.delete(id: Optional[str] = None, survey_id: Optional[str] = None, name: Optional[str] = None, survey_name: Optional[str] = None, id_int: Optional[int] = None, external_id: Optional[str] = None)

Delete a survey

Parameters:
  • id (Optional[str]) – id of the survey to delete.
  • id_int (Optional[int]) – integer id of the survey to delete
  • name (Optional[str]) – name of the survey to delete.
  • external_id (Optional[str]) – External id of the survey to delete
Returns:

Nothing

Seismic Query Objects

Seismic objects represent a 2D or 3D post-stack dataset from the point of view of a data consumer. It is backed by a seismic store, which is itself not necessarily available to the caller.

Create seismic objects

SeismicAPI.create(*, external_id: str, partition_identifier: Union[int, str], seismic_store_id: int, name: Optional[str] = None, volumedef: Optional[str] = None, geometry: Optional[cognite.seismic.data_classes.api_types.Geometry] = None, empty: bool = False, metadata: Optional[Dict[str, str]] = None, copy_metadata: bool = False, text_header: Optional[cognite.seismic.data_classes.api_types.TextHeader] = None, binary_header: Optional[cognite.seismic.data_classes.api_types.BinaryHeader] = None) → cognite.seismic.data_classes.api_types.Seismic

Create a new Seismic.

If neither volumedef nor geometry are specified, the new Seismic will be able to access the entire seismic store it is derived from.

Parameters:
  • external_id (str) – The external id of the new Seismic
  • name (str | None) – (Optional) If specified, the name of the new Seismic
  • partition_identifier (int | str) – Either the partition id or external_id that the Seismic is part of
  • seismic_store_id (int) – The seismic store that the new Seismic is derived from
  • volumedef (str | None) – (Optional) If specified, uses a VolumeDef as the shape of the Seismic
  • geometry (Geometry | None) – (Optional) If specified, uses a Geometry (either a WKT or GeoJson) as the shape of the Seismic
  • empty (bool) – If True, creates an empty seismic with no trace data included.
  • metadata (Dict[str, str] | None) – If specified, sets the metadata to the provided value.
  • copy_metadata (bool) – If True, ignores the metadata arg and copies the metadata from the seismic store.
  • text_header (TextHeader | None) – (Optional) If specified, sets the provided text header on the new seismic
  • binary_header (BinaryHeader | None) – (Optional) If specified, sets the provided binary header on the new seismic
Returns:

The newly created Seismic with minimal data. Use search() or get() to retrieve all data.

Return type:

Seismic

List seismic objects

SeismicAPI.list(*, include_text_header: bool = False, include_binary_header: bool = False, include_line_range: bool = False, include_volume_definition: bool = False, include_seismic_store: bool = False, include_partition: bool = False, coverage_crs: Optional[str] = None, coverage_format: Optional[str] = None) → Iterable[cognite.seismic.data_classes.api_types.Seismic]

Search seismic objects

SeismicAPI.search(mode: str = 'seismic', *, id: Optional[int] = None, external_id: Optional[str] = None, external_id_substring: Optional[str] = None, name: Optional[str] = None, name_substring: Optional[str] = None, include_text_header: bool = False, include_binary_header: bool = False, include_line_range: bool = False, include_volume_definition: bool = False, include_seismic_store: bool = False, include_partition: bool = False, include_coverage=False, coverage_crs: Optional[str] = None, coverage_format: Optional[str] = None, get_all: bool = False) → Iterable[cognite.seismic.data_classes.api_types.Seismic]

Search for seismics.

Can search all seismics included in surveys, partitions, or directly search seismics, specified by id, external_id, name, or substrings of external_id or name. Only one search method should be specified. The behaviour when multiple are specified is undefined.

Parameters:
  • mode (str) – One of “survey”, “seismic” or “partition”.
  • id (int|None) – id to search by
  • external_id (str|None) – external id to search by
  • external_id_substring (str|None) – Substring of external id to search by
  • name (str|None) – Name to search by
  • name_substring (str|None) – Substring of name to search by
  • include_text_header (bool) – If true, includes the text header in the responses
  • include_binary_header (bool) – If true, includes the binary header in the responses
  • include_line_range (bool) – If true, includes the line range in the responses
  • include_volume_definition (bool) – If true, includes the volume def in the responses
  • include_seismic_store (bool) – If true, include the seismic store info in the responses
  • include_partition (bool) – If true, include the partition info in the responses
  • coverage_crs (str|None) – If specified, includes the coverage in the given CRS. Either coverage_crs or coverage_format must be specified to retrieve coverage.
  • coverage_format (str|None) – One of “wkt”, “geojson”. If specified, includes the coverage as the given format.
  • get_all (bool) – Whether to instead retrieve all visible Seismic. Equivalent to list().
Returns:

The list of matching Seismics

Return type:

Iterable[Seismic]

Get seismic object

SeismicAPI.get(*, id: Optional[int] = None, external_id: Optional[str] = None, coverage_crs: Optional[str] = None, coverage_format: Optional[str] = None) → cognite.seismic.data_classes.api_types.Seismic

Get a seismic by id or external id.

Equivalent to search(“seismic”, id=) or search(“seismic”, external_id=), returning all info.

Parameters:
  • id (int | None) – id of seismic to get
  • external_id (str | None) – external id of seismic to get
  • coverage_crs (str | None) – The CRS of the received coverage. Defaults to the file’s CRS.
  • coverage_format (str | None) – The desired file format for the coverage. Defaults to WKT.
Returns:

The matching seismic

Return type:

Seismic

Edit seismic objects

SeismicAPI.edit(*, id: Optional[int] = None, external_id: Optional[str] = None, name: Optional[str] = None, metadata: Optional[Dict[str, str]] = None) → cognite.seismic.data_classes.api_types.Seismic

Edit an existing seismic.

Either the id or the external_id should be provided in order to identify the seismic. The editable fields are name and metadata. Providing a name or metadata field will replace the existing data with the new data. Providing an empty string as the name will delete the seismic name.

Parameters:
  • id (int | None) – The id of the seismic
  • external_id (str | None) – The external id of the seismic
  • name (str | None) – (Optional) The new name of the seismic
  • metadata (Dict[str, str] | None) – (Optional) The new metadata for the seismic
Returns:

The edited Seismic with minimal data. Use search() to retrieve all data.

Return type:

Seismic

Delete seismic objects

SeismicAPI.delete(*, id: Optional[int] = None, external_id: Optional[str] = None) → bool

Delete a seismic

Either the id or the external id should be provided in order to identify the seismic.

Parameters:
  • id (int | None) – The id of the seismic
  • external_id (str | None) – The external id of the seismic
Returns:

True if successful

Return type:

bool

Seismic trace data access

Retrieving trace data from a seismic object may be done with the volume retrieval API.

This API produces a stream of trace data.

Get traces in a seismic volume

VolumeSeismicAPI.get_volume(*, id: Optional[int] = None, external_id: Optional[str] = None, seismic_store_id: Optional[int] = None, inline_range: Union[Tuple[int, int], Tuple[int, int, int], None] = None, xline_range: Union[Tuple[int, int], Tuple[int, int, int], None] = None, z_range: Union[Tuple[int, int], Tuple[int, int, int], None] = None, geometry: Optional[cognite.seismic.data_classes.api_types.Geometry] = None, interpolation_method: Optional[cognite.seismic.data_classes.api_types.InterpolationMethod] = None, include_trace_header: bool = False) → Iterable[cognite.seismic.data_classes.api_types.Trace]

Retrieve traces from a seismic or seismic store

Provide one of: the seismic id, the seismic external id, the seismic store id. The line ranges are specified as tuples of either (start, end) or (start, end, step). If a line range is not specified, the maximum ranges will be assumed.

Parameters:
  • id (int | None) – The id of the seismic to query
  • external_id (str | None) – The external id of the seismic to query
  • seismic_store_id (int | None) – The id of the seismic store to query
  • inline_range ([int, int] | [int, int, int] | None) – The inline range
  • xline_range ([int, int] | [int, int, int] | None) – The xline range
  • z_range ([int, int] | [int, int, int]) – The range of samples to include
  • include_trace-header (bool) – Whether to include trace header info in the response.
Returns:

Iterable[Trace], the traces for the specified volume

VolumeSeismicAPI.get_volume_size(*, id: Optional[int] = None, external_id: Optional[str] = None, seismic_store_id: Optional[int] = None, inline_range: Union[Tuple[int, int], Tuple[int, int, int], None] = None, xline_range: Union[Tuple[int, int], Tuple[int, int, int], None] = None, z_range: Union[Tuple[int, int], Tuple[int, int, int], None] = None, geometry: Optional[cognite.seismic.data_classes.api_types.Geometry] = None, interpolation_method: Optional[cognite.seismic.data_classes.api_types.InterpolationMethod] = None, include_trace_header: bool = False) → cognite.seismic._api.volume_seismic.GetVolumeSize

Estimate the total size of data streamed by get_volume

Parameters: See VolumeSeismicAPI.get_volume()

Returns:A GetVolumeSize object describing the size
class cognite.seismic._api.volume_seismic.GetVolumeSize

Information about the size returned from get_volume.

trace_count

The number of traces that will be streamed

sample_count

The number of samples in each trace, if available

size_kilobytes

An estimate of the total streaming size in kilobytes (= 1024 bytes), or None if sample_count is None

Store traces into a numpy array

VolumeSeismicAPI.get_array(*, id: Optional[int] = None, external_id: Optional[str] = None, seismic_store_id: Optional[int] = None, inline_range: Union[Tuple[int, int], Tuple[int, int, int], None] = None, xline_range: Union[Tuple[int, int], Tuple[int, int, int], None] = None, z_range: Union[Tuple[int, int], Tuple[int, int, int], None] = None, geometry: Optional[cognite.seismic.data_classes.api_types.Geometry] = None, interpolation_method: Optional[cognite.seismic.data_classes.api_types.InterpolationMethod] = None, progress: Optional[bool] = False) → cognite.seismic._api.volume_seismic.ArrayData

Store traces from a seismic or seismic store into a numpy array

Provide one of: the seismic id, the seismic external id, the seismic store id. The line ranges are specified as tuples of either (start, end) or (start, end, step). If a line range is not specified, the maximum ranges will be assumed.

Parameters:
  • id (int | None) – The id of the seismic to query
  • external_id (str | None) – The external id of the seismic to query
  • seismic_store_id (int | None) – The id of the seismic store to query
  • inline_range ([int, int] | [int, int, int] | None) – The inline range
  • xline_range ([int, int] | [int, int, int] | None) – The xline range
  • z_range ([int, int] | [int, int, int]) – The range of samples to include
  • progress – (bool): If set to true, display a progress bar. Default: False
Returns:

An ArrayData object encapsulating the retrieved array (see below)

class cognite.seismic._api.volume_seismic.ArrayData

Encapsulates the array returned from VolumeSeismicAPI.get_array(), along with metadata about coordinates.

volume_data

3D Array containing the requested volume data

crs

The coordinate system used

coord_x

2D array containing the x coordinate of each (inline, xline) pair

coord_y

2D array containing the y coordinate of each (inline, xline) pair

inline_range

The range of inline ids described by the first dimension of the array, or None if the result is empty

xline_range

The range of xline ids described by the second dimension of the array, or None if the result is empty

z_range

The range of depth indices described by the third dimension of the array, or None if the result is empty

Seismic Store Objects

Seismic store objects represent a 2D or 3D post-stack dataset from the point of view of a data manager, and are only accessible for the default data partition.

A seismic store object represents the actual storage facility for trace data, and can be exposed for data consumer use through seismic query objects.

List seismic stores

SeismicStoreAPI.list(*, include_file_info: bool = False, include_volume_definitions: bool = False) → Iterable[cognite.seismic.data_classes.api_types.SeismicStore]

List all visible seismic stores.

List all visible seismic stores. This is equivalent to calling search() with get_all=true.

Parameters:
  • include_file_info (bool) – (Optional) If true, the response will include information on the source file.
  • include_volume_definitions (bool) – (Optional) If true, the response will include volume definitions.
Returns:

The list of visible seismic stores

Return type:

Iterable[SeismicStore]

Search seismic stores

SeismicStoreAPI.search(mode: str = 'seismic_store', *, id: Optional[int] = None, external_id: Optional[str] = None, external_id_substring: Optional[str] = None, name: Optional[str] = None, name_substring: Optional[str] = None, get_all: bool = False, include_file_info: bool = False, include_headers: bool = False, include_volume_definitions: bool = False, include_coverage: bool = False, coverage_crs: Optional[str] = None, coverage_format: Optional[str] = None) → Iterable[cognite.seismic.data_classes.api_types.SeismicStore]

Search for seismic stores.

Can search all seismic stores included in surveys or directly search seismic stores, specified by id, external_id, name, or substrings of external_id or name. Only one search method should be specified. The behaviour when multiple are specified is undefined.

Parameters:
  • mode (str) – One of “survey”, “seismic_store”, “file”.
  • id (int|None) – Id to search by
  • external_id (str|None) – External id to search by. NOT IMPLEMENTED
  • external_id_substring (str|None) – Substring of external id to search by. NOT IMPLEMENTED
  • name (str|None) – Name to search by
  • name_substring (str|None) – Substring of name to search by
  • get_all (bool) – Whether to instead retrieve all visible seismic stores. Equivalent to list().
  • include_file_info (bool) – If true, the response will include information on the source file.
  • include_headers (bool) – If true, the response will include headers.
  • include_volume_definitions (bool) – If false, the response will exclude getting the inline and crossline volume definitions.
  • coverage_crs (str|None) – If specified, includes the coverage in the given CRS. Either coverage_crs or coverage_format must be specified to retrieve coverage.
  • coverage_format (str|None) – One of “wkt”, “geojson”. If specified, includes the coverage as the given format.
Returns:

The list of matching seismic stores

Return type:

Iterable[SeismicStore]

Get seismic store

SeismicStoreAPI.get(id: int, *, coverage_crs: Optional[str] = None, coverage_format: Optional[str] = None) → cognite.seismic.data_classes.api_types.SeismicStore

Get a seismic store by its id.

Equivalent to search(id=id, include_file_info=True, include_headers=True).

Parameters:id (int) – The seismic store id to find
Returns:SeismicStore

Edit seismic stores

SeismicStoreAPI.edit(*, id: Optional[int] = None, external_id: Optional[str] = None, new_name: Optional[str] = None, metadata: Optional[Dict[str, str]] = None) → cognite.seismic.data_classes.api_types.SeismicStore

Edit a seismic store.

Edit a seismic store, providing the seismic store id. The name and the metadata can be edited.

Parameters:
  • id (int | None) – The id of the seismic store
  • new_name (str | None) – (Optional) If specified, the new name. Provide an empty string to delete the existing name.
  • metadata (Dict[str, str] | None) – (Optional) If specified, replaces the old metadata with the new one.
Returns:

Return type:

SeismicStore

Data Partitions

Data Partitions are containers for seismic objects. The partitions function as a security boundary, and access to a data partition grants access to its contained seismic objects.

List data partitions

PartitionAPI.list() → Iterable[cognite.seismic.data_classes.api_types.Partition]

List all partitions.

List all visible partitions. This is equivalent to calling search() with get_all=true.

Returns:All visible partitions
Return type:Iterable[Partition]

Search data partitions

PartitionAPI.search(*, id: Optional[int] = None, external_id: Optional[str] = None, external_id_substring: Optional[str] = None, name: Optional[str] = None, name_substring: Optional[str] = None, get_all: bool = False) → Iterable[cognite.seismic.data_classes.api_types.Partition]

Search for partitions.

Can search by id, external_id, name, or substrings of external_id or name. Only one search method should be specified. The behaviour when multiple are specified is undefined.

Parameters:
  • id (int|None) – Partition id
  • external_id (str|None) – Partition external id
  • external_id_substring (str|None) – Substring of external id to search by
  • name (str|None) – Partition name
  • name_substring (str|None) – Substring of name to search by
  • get_all (bool) – Whether to instead retrieve all visible partitions. Equivalent to list().
Returns:

The list of matching partitions

Return type:

Iterable[Partition]

Get data partition

PartitionAPI.get(id: Optional[int] = None, external_id: Optional[str] = None) → cognite.seismic.data_classes.api_types.Partition

Retrieve a single partition by id or external id.

Equivalent to search() using id or external id.

Parameters:
  • id (int | None) – Partition id
  • external_id (str | None) – Partition external id
Returns:

The given partition

Return type:

Partition

Create a new data partition

PartitionAPI.create(*, external_id: str, name: str = '') → cognite.seismic.data_classes.api_types.Partition

Create a new partition.

Create a new partition, providing an external id and an optional name.

Parameters:
  • external_id (str) – The external id of the new partition. Must be unique.
  • name (str) – (Optional) The name of the new partition. If not specified, will display the external id wherever a name is required.
Returns:

The newly created partition

Return type:

Partition

Edit a data partition

PartitionAPI.edit(*, new_name: str, id: Optional[int] = None, external_id: Optional[str] = None) → cognite.seismic.data_classes.api_types.Partition

Edit an existing partition.

Edit an existing partition by providing either an id or an external id. The only parameter that can be edited is the name.

Parameters:
  • id (int | None) – The id of the partition
  • external_id (str | None) – The external id of the partition
  • new_name (str) – The new name. Set as an empty string to delete the existing name.
Returns:

The edited partition

Return type:

Partition

Delete a data partition

PartitionAPI.delete(*, id: Optional[int] = None, external_id: Optional[str] = None) → bool

Delete a partition.

Delete a partition by providing either an id or an external id.

Parameters:
  • id (int | None) – The id of the partition
  • external_id (str | None) – The external id of the partition
Returns:

Whether the operation succeeded.

Return type:

bool

SEG-Y download

Download seismic as SEG-Y

FileSeismicAPI.get_segy(*, id: Optional[int] = None, external_id: Optional[str] = None, seismic_store_id: Optional[int] = None) → Iterable[cognite.seismic._api.shims.SegYSeismicResponse]

Get SEGY file

Provide one of: the seismic id, the seismic external id, the seismic store id.

Parameters:
  • id (int | None) – The id of the seismic to retrieve traces from.
  • external_id (str | None) – The external id of the seismic to retrieve traces from.
  • seismic_store_id (int | None) – The id of the seismic store to retrieve traces from. Only permitted for data managers.

The returned stream of SegYSeismicResponse objects have a content attribute each containing a fragment of the SEG-Y file. Write these to disk in the order received, or stream to a receiver expecting a SEGY bytestream.

Returns: An iterable of SegYSeismicResponse: SEGY file

Download subvolume of seismic by line numbers as SEG-Y

FileSeismicAPI.get_segy_by_lines(*, id: Optional[int] = None, external_id: Optional[str] = None, seismic_store_id: Optional[int] = None, top_left_inline: Optional[int] = None, top_left_xline: Optional[int] = None, bottom_right_inline: Optional[int] = None, bottom_right_xline: Optional[int] = None) → Iterable[cognite.seismic._api.shims.SegYSeismicResponse]

Get a part of a SEGY file with data inside a given range of inlines and xlines

Provide one of: the seismic id, the seismic external id, the seismic store id.

Parameters:
  • id (int | None) – The id of the seismic to retrieve traces from.
  • external_id (str | None) – The external id of the seismic to retrieve traces from.
  • seismic_store_id (int | None) – The id of the seismic store to retrieve traces from. Only permitted for data managers.
  • top_left_inline (int | None) – Top left inline.
  • top_left_xline (int | None) – Top left xline.
  • bottom_right_inline (int | None) – Bottom right inline.
  • bottom_right_xline (int | None) – Bottom right xline.

The returned stream of SegYSeismicResponse objects have a content attribute each containing a fragment of the SEG-Y file. Write these to disk in the order received, or stream to a receiver expecting a SEGY bytestream.

Returns: An iterable of SegYSeismicResponse: SEGY file

Download partial seismic from geometry cutout as SEG-Y

FileSeismicAPI.get_segy_by_geometry(*, id: Optional[int] = None, external_id: Optional[str] = None, seismic_store_id: Optional[int] = None, crs: str = None, wkt: str = None, geo_json=None) → Iterable[cognite.seismic._api.shims.SegYSeismicResponse]

Get a part of a SEGY file with data inside an arbitrary 2D polygon.

Provide one of: the seismic id, the seismic external id, the seismic store id. Provide one of: wkt, geo_json.

Parameters:
  • id (int | None) – The id of the seismic to retrieve traces from.
  • external_id (str | None) – The external id of the seismic to retrieve traces from.
  • seismic_store_id (int | None) – The id of the seismic store to retrieve traces from. Only permitted for data managers.
  • crs (str) – CRS
  • wkt (str) – polygon in WKT format
  • geo_json (dict) – polygon in geoJson format

The returned stream of SegYSeismicResponse objects have a ‘content’ attribute each containing a fragment of the SEG-Y file. Write these to disk in the order received, or stream to a receiver expecting a SEGY bytestream.

Returns: An iterable of SegYSeismicResponse: SEGY file

File management

Register file

FileSeismicAPI.register(*args, **kwargs)

See register()

Get file

FileSeismicAPI.get(*, id: Optional[str], external_id: Optional[str] = None) → cognite.seismic.data_classes.api_types.SourceSegyFile

Fetch a file by id.

Parameters:id (str | None) – The id of the file to fetch
Returns:The retrieved file
Return type:SourceSegyFile

List files

FileSeismicAPI.list() → List[cognite.seismic.data_classes.api_types.SourceSegyFile]

List all files.

Returns:A list of Files.
Return type:List[SourceSegyFile]

Search files

FileSeismicAPI.search(*, mode: str = 'file', id: Optional[str] = None, external_id: Optional[str] = None, external_id_substring: Optional[str] = None, name: Optional[str] = None, name_substring: Optional[str] = None) → Iterable[cognite.seismic.data_classes.api_types.SourceSegyFile]

Search for files.

Parameters:
  • mode (str) – One of “survey”, “seismic_store”, “file”.
  • id (str | None) – A string id to search for
  • name (str | None) – A name to search for
  • name_substring (str | None) – Substring of a name to search for
Returns:

A list of found Files.

Return type:

Iterable[SourceSegyFile]

API Data Types

The API data types returned by the v1 endpoints are documented here.

Coordinate

class cognite.seismic.data_classes.api_types.Coordinate(crs, x, y)

Represents physical coordinates in a given CRS.

crs

The coordinate reference system of the coordinate. Generally should be an EPSG code.

Type:str
x

The x value of the coordinate.

Type:float
y

The y value of the coordinate.

Type:float

RangeInclusive

class cognite.seismic.data_classes.api_types.RangeInclusive(start: int, stop: int, step: Optional[int] = 1)

Represents an inclusive range of inlines/xlines or depth coordinates.

start

The first linenumber encompassed by the range

stop

The last linenumber encompassed by the range

step

The distance between linenumbers

classmethod from_linerange(linerange: Union[Tuple[int, int], Tuple[int, int, int], None]) → Optional[cognite.seismic.data_classes.api_types.RangeInclusive]

Construct a RangeInclusive from a (start, stop) or (start, stop, step) tuple

index(line: int) → int

Compute the index of a given linenumber in this range

intersection(other: cognite.seismic.data_classes.api_types.RangeInclusive) → Optional[cognite.seismic.data_classes.api_types.RangeInclusive]

Compute the intersection of this range with another

to_linerange() → Union[Tuple[int, int], Tuple[int, int, int]]

Return a (start, stop) or a (start, stop, step) tuple

to_positive() → cognite.seismic.data_classes.api_types.RangeInclusive

Return an equivalent RangeInclusive where the step size is always positive

classmethod widest(ranges: Iterable[Tuple[int, int]]) → cognite.seismic.data_classes.api_types.RangeInclusive

Finds the widest range among the (min, max) tuples in ranges, and returns the result as a RangeInclusive

Trace

class cognite.seismic.data_classes.api_types.Trace(trace_header, inline, xline, trace, coordinate)

Represents a seismic trace with a single inline / xline coordinate.

trace_header

The raw trace header.

Type:bytes
inline

The inline number

Type:int
xline

The xline number

Type:int
trace

The trace values

Type:List[float]
coordinate

The coordinate of the trace

Type:Coordinate

IngestionSource

class cognite.seismic.data_classes.api_types.IngestionSource

Enum of ingestion sources.

IngestionSource.INVALID_SOURCE = 0

Indicates that a source was not specified or was invalid.

IngestionSource.FILE_SOURCE = 1

Indicates ingestion from a file

IngestionSource.TRACE_WRITER = 2

Indicates creation by trace writer

VolumeDef

class cognite.seismic.data_classes.api_types.VolumeDef(json_payload)

Represents a VolumeDef, a method to describe an inline/xline grid. Refer to VolumeDef schema for more information.

common_inline_range() → cognite.seismic.data_classes.api_types.RangeInclusive

Compute the range with the largest step size encompassing all inlines in this VolumeDef

Returns:Range describing the minimum, maximum, and step size of line numbers
Return type:RangeInclusive
common_major_range() → cognite.seismic.data_classes.api_types.RangeInclusive

Compute the range with the largest step size encompassing all major lines in this VolumeDef

Returns:Range describing the minimum, maximum, and step size of line numbers
Return type:RangeInclusive
common_minor_range() → cognite.seismic.data_classes.api_types.RangeInclusive

Compute the range with the largest step size encompassing all minor lines in this VolumeDef

Returns:Range describing the minimum, maximum, and step size of line numbers
Return type:RangeInclusive
common_xline_range() → cognite.seismic.data_classes.api_types.RangeInclusive

Compute the range with the largest step size encompassing all xlines in this VolumeDef

Returns:Range describing the minimum, maximum, and step size of line numbers
Return type:RangeInclusive
count_line_traces(inline_range: Union[Tuple[int, int], Tuple[int, int, int], None] = None, xline_range: Union[Tuple[int, int], Tuple[int, int, int], None] = None) → Mapping[int, int]

Count the number of traces by line, optionally restricted by ranges.

Returns:A mapping of line number to trace count.
Return type:Mapping[int, int]
count_total_traces(inline_range: Union[Tuple[int, int], Tuple[int, int, int], None] = None, xline_range: Union[Tuple[int, int], Tuple[int, int, int], None] = None) → int

Count the total number of traces in this volumedef, optionally restricted by ranges.

get_inline_range() → Mapping[int, Tuple[int, int]]

Return the min & max range of traces by inline. That is, the mapping will be from inline numbers to xline numbers.

Returns:A mapping of line number to minimum and maximum value for that line.
Return type:Mapping[int, Tuple[int, int]]
get_major_range() → Mapping[int, Tuple[int, int]]

Return the min & max range of traces by major line, i.e. a mapping from major number to minor range.

Returns:A mapping of line number to minimum and maximum value for that line.
Return type:Mapping[int, Tuple[int, int]]
get_minor_range() → Mapping[int, Tuple[int, int]]

Return the min & max range of traces by minor line, i.e. a mapping from minor number to major range.

Returns:A mapping of line number to minimum and maximum value for that line.
Return type:Mapping[int, Tuple[int, int]]
get_xline_range() → Mapping[int, Tuple[int, int]]

Return the min & max range of traces by xline. That is, the mapping will be from xline numbers to inline numbers.

Returns:A mapping of line number to minimum and maximum value for that line.
Return type:Mapping[int, Tuple[int, int]]

File

class cognite.seismic.data_classes.api_types.File(*, id, name, metadata, is_temporary, external_id)

Represents a raw SEGY file.

id

The id of the file

Type:str
name

The name of the file

Type:str
metadata

Any custom-defined metadata for the file

Type:Mapping[str, str]
is_temporary

True if the file is temporary.

Type:bool

Survey

class cognite.seismic.data_classes.api_types.Survey(id, external_id, name, seismic_ids, seismic_store_ids, metadata, coverage, crs, grid_transformation, custom_coverage, survey_coverage_source, id_int=-1)
static from_proto_survey(proto) → cognite.seismic.data_classes.api_types.Survey

From a Survey proto rather than the result of SearchSurvey

SourceSegyFile

class cognite.seismic.data_classes.api_types.SourceSegyFile(*, uuid, id, external_id, name, metadata, segy_overrides, cloud_storage_path)

Represents a raw SEGY file as used in the seismicstore-aware API, particularly for ingestion.

uuid

The unique string-based uuid of a source segy file.

Type:str
id

A 64-bit integer that represents the source file internally within the seismic service.

Type:int
external_id

A string-based user id that uniquely identifies the file.

Type:str
name

Non-unique string that describes the file.

Type:str
cloud_storage_path

The cloud storage path where the file is located.

Type:str
metadata

User-provided metadata in the form of a string to string mapping

Type:Mapping[str, str]
segy_overrides
Type:SegyOverrides

SegyOverrides

class cognite.seismic.data_classes.api_types.SegyOverrides(*, inline_offset, crossline_offset, cdp_x_offset, cdp_y_offset, source_group_scalar_override)

A set of SegY header overrides for a given ingested file.

inline_offset
Type:Optional[int]
crossline_offset
Type:Optional[int]
cdp_x_offset
Type:Optional[int]
cdp_y_offset
Type:Optional[int]
source_group_scalar_override
Type:Optional[float]
static from_proto(proto) → cognite.seismic.data_classes.api_types.SegyOverrides

Convert a SegyOverrides proto into a python object

Geometry

class cognite.seismic.data_classes.api_types.Geometry(crs: str, *, geojson=None, wkt=None)

Represents a CRS + shape, in either a WKT format or a GeoJSON.

crs

The CRS of the shape.

Type:str
geojson

If exists, the GeoJSON representation of this shape

Type:Optional[dict]
wkt

If exists, the Well Known Text representation of this shape

Type:Optional[str]

BinaryHeader

class cognite.seismic.data_classes.api_types.BinaryHeader(*args, raw_header: Optional[bytes] = None, **kwargs)

A representation of binary headers used to create or edit existing headers.

BinaryHeader.FIELDS contains the list of valid fields. to set after the object is constructed.

traces
trace_data_type
fixed_length_traces
segy_revision
auxtraces
interval
interval_original
samples
samples_original
ensemble_fold
vertical_sum
trace_type_sorting_code
sweep_type_code
sweep_frequency_start
sweep_frequency_end
sweep_length
sweep_channel
sweep_taper_start
sweep_taper_end
sweep_taper_type
correlated_traces
amplitude_recovery
original_measurement_system
impulse_signal_polarity
vibratory_polarity_code

TextHeader

class cognite.seismic.data_classes.api_types.TextHeader(*, header: Optional[str] = None, raw_header: Optional[str] = None)

A representation of text headers used to create or edit existing headers.

header

The text content of the header

Type:Optional[str]
raw_header

The raw bytes of a header as a string

Type:Optional[str]

SeismicStore

class cognite.seismic.data_classes.api_types.SeismicStore(*, id, name, survey_id, ingestion_source, metadata, ingested_file, ingested_source_file, inline_volume_def, xline_volume_def, coverage, text_header, binary_header, storage_tier_name, crs)

Represents a seismic store.

id

The unique internal id of the seismic store.

Type:int
name

The unique name of the seismic store. Will be changed to external-id in the future.

Type:str
survey_id

The survey this seismic store belongs to.

Type:str
ingestion_source

The source of the seismicstore.

Type:IngestionSource
metadata

Any custom-defined metadata

Type:Mapping[str, str]
ingested_file

Same as ingested_source_file but with less information. Will be removed in a future update.

Type:Optional[File]
ingested_source_file

If present, the file this SeismicStore was ingested from

Type:Optional[SourceSegyFile]
inline_volume_def

The inline-major volume definition for this seismic store.

Type:Optional[VolumeDef]
xline_volume_def

The xline-major volume definition for this seismic store.

Type:Optional[VolumeDef]
coverage

If present, the coverage geometry for this seismic store

Type:Optional[Geometry]
text_header

If present, the text header for this seismic store

Type:Optional[TextHeader]
binary_header

If present, the binary header for this seismic store

Type:Optional[BinaryHeader]
storage_tier_name

The names of the storage tiers this seismic store exists in

Type:List[str]
crs

The Coordinate Reference System of the seismic store

Type:str

Seismic

class cognite.seismic.data_classes.api_types.Seismic(*, id, external_id, name, crs, metadata, text_header, binary_header, line_range, volume_def, partition_id, seismicstore_id, coverage, created_empty, trace_count)

Represents a seismic, a cutout of a seismic store.

id

The unique internal id of the seismic

Type:int
external_id

The external id of the seismic

Type:str
crs

The Coordinate Reference System of the seismic

Type:str
metadata

Any custom-defined metadata

Type:Mapping[str, str]
text_header

The text header that corresponds to the seismic

Type:Optional[TextHeader]
binary_header

The binary header that corresponds to the seismic

Type:Optional[BinaryHeader]
line_range

TODO

volume_def

The VolumeDef describing the seismic

Type:Optional[VolumeDef]
partition_id

The id of the partition the seismic belongs to

Type:int
seismicstore_id

The id of the seismicstore the seismic is derived from

Type:int
coverage

The coverage geometry for the seismic.

Type:Optional[Geometry]

Partition

class cognite.seismic.data_classes.api_types.Partition(*, id, external_id, name, seismic_ids)

Represents a partition and its included seismics

id

The unique internal id for this partition

Type:int
name

The human-friendly name for this partition

Type:str
seismic_ids

The list of ids of seismics that belong to this partition

Type:List[int]

Error types

SeismicServiceError

class cognite.seismic.data_classes.errors.SeismicServiceError(status=None, message=None, hint=None, source=None)

The base class for all seismic service-related errors.

NotFoundError

class cognite.seismic.data_classes.errors.NotFoundError(status=None, message=None, hint=None, source=None)

The object was not found.

TransientError

class cognite.seismic.data_classes.errors.TransientError(status=None, message=None, source=None)

A temporary error that can usually be solved by retrying the request.

InternalError

class cognite.seismic.data_classes.errors.InternalError(status=None, message=None, source=None)

An internal error. Please contact support.

AuthenticationError

class cognite.seismic.data_classes.errors.AuthenticationError(status=None, message=None, source=None)

An unauthenticated request was made.

InvalidArgumentError

class cognite.seismic.data_classes.errors.InvalidArgumentError(status=None, message=None, source=None)

An invalid argument was provided.

PermissionError

class cognite.seismic.data_classes.errors.PermissionError(status=None, message=None, source=None)

Insufficient permissions.