Normal score
This task applies a normal-score transformation to a continuous attribute. Use the method parameter to choose the direction:
- forward — transforms data from the source distribution to a standard normal (Gaussian) distribution. This is useful as a pre-processing step for geostatistical methods that require Gaussian input data.
- backward — transforms data from a standard normal distribution back to the source distribution. Use this to recover results in the original domain after Gaussian-based geostatistical computation.
Both directions preserve the rank order of the values.
Parameters
method(string)- The direction of the transformation. Must be either
"forward"or"backward".
- The direction of the transformation. Must be either
source(object)object(geoscience object reference)- Reference to a geoscience object containing the values to transform. Must be a pointset, downhole-intervals, regular-3d-grid, regular-masked-3d-grid, or tensor-3d-grid.
attribute(geoscience object attribute reference)- Reference to a one-dimensional continuous attribute on the source object.
-
{
"object": "https://{hub}.api.seequent.com/geoscience-object/orgs/{org_id}/workspaces/{workspace_id}/objects/path/my-pointset.json",
"attribute": "locations.attributes[?name=='my-data']"
}
distribution(geoscience object reference)- Reference to a non-parametric-continuous-cumulative-distribution object that defines the source distribution. Typically produced by the continuous-distribution task.
- For a forward transformation this is the distribution of the source values.
- For a backward transformation this is the distribution the result will follow.
target(object)object(geoscience object reference)- Reference to the geoscience object where the result will be stored. Must be a pointset, downhole-intervals, regular-3d-grid, regular-masked-3d-grid, or tensor-3d-grid.
attribute(geoscience object attribute target)- The attribute on the target object where the transformed values will be saved.
-
{
"object": "https://{hub}.api.seequent.com/geoscience-object/orgs/{org_id}/workspaces/{workspace_id}/objects/path/my-pointset.json",
"attribute": {
"operation": "create",
"name": "my-normal-score-result"
}
}
Example
For more information, see the normal score API reference.
Forward transform request
requests.post(
"https://{hub}.api.seequent.com/compute/orgs/{org_id}/geostatistics/normal-score",
headers={"Authorization": "Bearer {token}"},
json={
"method": "forward",
"source": {
"object": "https://{hub}.api.seequent.com/geoscience-object/orgs/{org_id}/workspaces/{workspace_id}/objects/path/my-pointset.json",
"attribute": "locations.attributes[?name=='grade']",
},
"distribution": "https://{hub}.api.seequent.com/geoscience-object/orgs/{org_id}/workspaces/{workspace_id}/objects/path/my-distribution.json",
"target": {
"object": "https://{hub}.api.seequent.com/geoscience-object/orgs/{org_id}/workspaces/{workspace_id}/objects/path/my-pointset.json",
"attribute": {
"operation": "create",
"name": "grade-gaussian",
},
},
},
)
Backward transform request
requests.post(
"https://{hub}.api.seequent.com/compute/orgs/{org_id}/geostatistics/normal-score",
headers={"Authorization": "Bearer {token}"},
json={
"method": "backward",
"source": {
"object": "https://{hub}.api.seequent.com/geoscience-object/orgs/{org_id}/workspaces/{workspace_id}/objects/path/my-kriged-grid.json",
"attribute": "cell_attributes[?name=='grade-kriged-gaussian']",
},
"distribution": "https://{hub}.api.seequent.com/geoscience-object/orgs/{org_id}/workspaces/{workspace_id}/objects/path/my-distribution.json",
"target": {
"object": "https://{hub}.api.seequent.com/geoscience-object/orgs/{org_id}/workspaces/{workspace_id}/objects/path/my-kriged-grid.json",
"attribute": {
"operation": "create",
"name": "grade-kriged",
},
},
},
)
Result
{
"message": "Normal score forward transformation completed.",
"target": {
"reference": "https://{hub}.api.seequent.com/geoscience-object/orgs/{org_id}/workspaces/{workspace_id}/objects/path/my-pointset.json",
"name": "My Pointset",
"description": null,
"schema_id": "/objects/pointset/1.3.0",
"attribute": {
"reference": "locations.attributes[?key=='3cc3aa58-c928-4e79-b8ca-550174bff59e']",
"name": "grade-gaussian"
}
}
}
Tips
- The source and target can be the same object, but they don't have to be.
- Pair the forward transform with the continuous-distribution task to build the reference distribution from your data before running the transformation.
- A common workflow is: forward transform → geostatistical estimation/simulation on Gaussian values → backward transform to recover results in the original domain.