GXPG class

class geosoft.gx.GXPG
Pager methods for large 2-D arrays
This class handles very-large 2-D arrays in which efficient
access is required along both rows and columns.

Note:

Typically a grid is accessed using the IMG class, and a PG
is obtained from the IMG using the geosoft.gx.GXIMG.get_pg() function.
Following operations on the PG, it can be written back to
the IMG using geosoft.gx.GXIMG.set_pg().
copy((GXPG)arg1) → None:
Copy the data from one pager to another.
Parameters:arg1 (geosoft.gx.GXPG) – Source PG object
Returns:Nothing
Return type:None

New in version 5.0.0.

copy_subset((GXPG)arg1, (int)arg2, (int)arg3, (int)arg4, (int)arg5, (int)arg6, (int)arg7) → None:
Copy a subset of data from one pager to another.
Parameters:
  • arg1 (geosoft.gx.GXPG) – Source PG object
  • arg2 (int) – Y (row) Origin on destination
  • arg3 (int) – X (col) Origin on destination
  • arg4 (int) – Y (row) Origin on source
  • arg5 (int) – X (col) Origin on source
  • arg6 (int) – Number of Y (rows) to copy
  • arg7 (int) – Number of X (columns) to copy
Returns:

Nothing

Return type:

None

New in version 5.0.0.

Note:

2D Only
copy_subset_3d((GXPG)arg1, (int)arg2, (int)arg3, (int)arg4, (int)arg5, (int)arg6, (int)arg7, (int)arg8, (int)arg9, (int)arg10) → None:
Copy a subset of data from one pager to another.
Parameters:
  • arg1 (geosoft.gx.GXPG) – Source PG object
  • arg2 (int) – Z (slice) Origin on destination
  • arg3 (int) – Y (row) Origin on destination
  • arg4 (int) – X (col) Origin on destination
  • arg5 (int) – Z (slice) Origin on source
  • arg6 (int) – Y (row) Origin on source
  • arg7 (int) – X (col) Origin on source
  • arg8 (int) – Number of Z (slice) to copy
  • arg9 (int) – Number of Y (rows) to copy
  • arg10 (int) – Number of X (columns) to copy
Returns:

Nothing

Return type:

None

New in version 8.0.0.

Note:

2D Only
static create((GXContext)ctx, (int)arg1, (int)arg2, (int)arg3) → GXPG:
Creates a Pager object
Parameters:
Returns:

PG Object

Return type:

geosoft.gx.GXPG

New in version 5.0.0.

static create_3d((GXContext)ctx, (int)arg1, (int)arg2, (int)arg3, (int)arg4) → GXPG:
Creates a Pager object
Parameters:
  • ctx (geosoft.gx.GXContext) – The GX execution context
  • arg1 (int) – # elements in z (# of slices)
  • arg2 (int) – # elements in y (# of row)
  • arg3 (int) – # elements in x (# of column)
  • arg4 (int) – GS_TYPES constants
Returns:

PG Object

Return type:

geosoft.gx.GXPG

New in version 6.2.0.

static create_s((GXContext)ctx, (GXBF)arg1) → GXPG:
Create a 2D PG from serialized source.
Parameters:
Returns:

PG Object

Return type:

geosoft.gx.GXPG

New in version 5.0.0.

Note:

For 3D pagers, use CreateBF_PG.
dummy() → None:
Sets the Entire pager to dummy.
Returns:Nothing
Return type:None

New in version 5.0.0.

e_type() → int:
Gets the type of pager.
Returns:GS_TYPES constants
Return type:int

New in version 5.0.0.

get((int)arg1, (int)arg2) → float:
Read a single value from a 2D PG
Parameters:
  • arg1 (int) – iBx - element # in x (column #)
  • arg2 (int) – iBy - element # in y (row #)
Returns:

Nothing

Return type:

float

New in version 8.3.0.

Note:

This is a low-performance method.
is_null() → bool

Check if the instance of geosoft.gx.GXPG is null (undefined)

Returns:True if this is a null instance of geosoft.gx.GXPG, False otherwise.
Return type:bool`
n_cols() → int:
Gets the # of columns in pager.
Returns:# of columns.
Return type:int

New in version 5.0.0.

n_rows() → int:
Gets the # of rows in pager.
Returns:# of rows.
Return type:int

New in version 5.0.0.

n_slices() → int:
Gets the # of slices (z) in pager.
Returns:# of rows.
Return type:int

New in version 6.2.0.

static null() → GXPG

A null (undefined) instance of geosoft.gx.GXPG

Returns:A null geosoft.gx.GXPG
Return type:geosoft.gx.GXPG
range((float_ref)arg1, (float_ref)arg2) → None:
Computes the range of the entire pager.
Parameters:
Returns:

Nothing

Return type:

None

New in version 5.0.0.

re_allocate((int)arg1, (int)arg2) → None:
Changes the size of Pager
Parameters:
  • arg1 (int) – Number of Y (rows) to reallocate
  • arg2 (int) – Number of X (columns) to reallocate
Returns:

Nothing

Return type:

None

New in version 5.0.0.

re_allocate_3d((int)arg1, (int)arg2, (int)arg3) → None:
Changes the size of 3D Pager
Parameters:
  • arg1 (int) – Number of Z (slices) to reallocate
  • arg2 (int) – Number of Y (rows) to reallocate
  • arg3 (int) – Number of X (columns) to reallocate
Returns:

Nothing

Return type:

None

New in version 6.2.0.

read_bf((GXBF)arg1, (int)arg2, (int)arg3, (int)arg4, (int)arg5, (int)arg6) → None:
Read the contents of a 2D or 3D pager to from a BF.
Parameters:
Returns:

Nothing

Return type:

None

New in version 6.2.0.

read_col((int)arg1, (int)arg2, (int)arg3, (GXVV)arg4) → None:
Read a set of elements in X (column) from pager into vv
Parameters:
  • arg1 (int) – iBx - element # in x (column #)
  • arg2 (int) – iBy - begining element # in y to read (0 is the first)
  • arg3 (int) – iNy - # elements to read (0 for whole vector)
  • arg4 (geosoft.gx.GXVV) – hVV - VV handle
Returns:

Nothing

Return type:

None

New in version 5.0.0.

read_col_3d((int)arg1, (int)arg2, (int)arg3, (int)arg4, (GXVV)arg5) → None:
Read a set of elements in X (column) from pager into vv
Parameters:
  • arg1 (int) – iBz - element # in z (slice #)
  • arg2 (int) – iBx - element # in x (column #)
  • arg3 (int) – iBy - begining element # in y to read (0 is the first)
  • arg4 (int) – iNy - # elements to read (0 for whole vector)
  • arg5 (geosoft.gx.GXVV) – hVV - VV handle
Returns:

Nothing

Return type:

None

New in version 6.2.0.

read_ra((GXRA)arg1, (int)arg2, (int)arg3, (int)arg4, (int)arg5, (str)arg6) → None:
Read the contents of a 2D or 3D pager to from an RA.
Parameters:
  • arg1 (geosoft.gx.GXRA) – RA to read from
  • arg2 (int) – PG_3D_DIR constants
  • arg3 (int) – Reverse X
  • arg4 (int) – Reverse Y
  • arg5 (int) – Reverse Z
  • arg6 (str) – Dummy
Returns:

Nothing

Return type:

None

New in version 6.2.0.

Note:

Each line must hold only 1 value
read_row((int)arg1, (int)arg2, (int)arg3, (GXVV)arg4) → None:
Read a set of elements in Y (row) from pager into vv
Parameters:
  • arg1 (int) – iBy - element # in y (row #)
  • arg2 (int) – iBx - begining element # in x to read (0 is the first)
  • arg3 (int) – iNx - # elements to read (0 for whole vector)
  • arg4 (geosoft.gx.GXVV) – hVV - VV handle
Returns:

Nothing

Return type:

None

New in version 5.0.0.

read_row_3d((int)arg1, (int)arg2, (int)arg3, (int)arg4, (GXVV)arg5) → None:
Read a set of elements in Y (row) from pager into vv
Parameters:
  • arg1 (int) – iBz - element # in z (slice #)
  • arg2 (int) – iBy - element # in y (row #)
  • arg3 (int) – iBx - begining element # in x to read (0 is the first)
  • arg4 (int) – iNx - # elements to read (0 for whole vector)
  • arg5 (geosoft.gx.GXVV) – hVV - VV handle
Returns:

Nothing

Return type:

None

New in version 6.2.0.

read_trace_3d((int)arg1, (int)arg2, (int)arg3, (int)arg4, (GXVV)arg5) → None:
Read a set of elements in Z (trace) from pager into vv
Parameters:
  • arg1 (int) – iBx - element # in x (column #)
  • arg2 (int) – iBy - element # in y (row #)
  • arg3 (int) – iBy - begining element # in z to read (0 is the first)
  • arg4 (int) – iNy - # elements to read (0 for whole vector)
  • arg5 (geosoft.gx.GXVV) – hVV - VV handle
Returns:

Nothing

Return type:

None

New in version 6.3.0.

serial((GXBF)arg1) → None:
Serialize a 2D PG to a BF.
Parameters:arg1 (geosoft.gx.GXBF) – BF
Returns:Nothing
Return type:None

New in version 5.0.0.

Note:

For 3D pagers, use geosoft.gx.GXPG.write_bf().
statistics((GXST)arg1) → None:
Compute the statistics of a pager object.
Parameters:arg1 (geosoft.gx.GXST) – hST - statistics object
Returns:Nothing
Return type:None

New in version 6.3.1.

write_bf((GXBF)arg1, (int)arg2, (int)arg3, (int)arg4, (int)arg5, (int)arg6) → None:
Write the contents of a 2D or 3D pager to a BF.
Parameters:
Returns:

Nothing

Return type:

None

New in version 6.2.0.

write_col((int)arg1, (int)arg2, (int)arg3, (GXVV)arg4) → None:
Write a set of elements in X (column) from vv into pager
Parameters:
  • arg1 (int) – iBx - element # in x (column #)
  • arg2 (int) – iBy - begining element # in y to write (0 is the first)
  • arg3 (int) – iNy - # elements to write (0 for whole vector)
  • arg4 (geosoft.gx.GXVV) – hVV - VV handle
Returns:

Nothing

Return type:

None

New in version 5.0.0.

write_col_3d((int)arg1, (int)arg2, (int)arg3, (int)arg4, (GXVV)arg5) → None:
Write a set of elements in X (column) from vv into pager
Parameters:
  • arg1 (int) – iBz - element # in z (slice #)
  • arg2 (int) – iBx - element # in x (column #)
  • arg3 (int) – iBy - begining element # in y to write (0 is the first)
  • arg4 (int) – iNy - # elements to write (0 for whole vector)
  • arg5 (geosoft.gx.GXVV) – hVV - VV handle
Returns:

Nothing

Return type:

None

New in version 6.2.0.

write_row((int)arg1, (int)arg2, (int)arg3, (GXVV)arg4) → None:
Write a set of elements in Y (row) from vv into pager
Parameters:
  • arg1 (int) – iBy - element # in y (row #)
  • arg2 (int) – iBx - begining element # in x to write (0 is the first)
  • arg3 (int) – iNx - # elements to write (0 for whole vector)
  • arg4 (geosoft.gx.GXVV) – hVV - VV handle
Returns:

Nothing

Return type:

None

New in version 5.0.0.

write_row_3d((int)arg1, (int)arg2, (int)arg3, (int)arg4, (GXVV)arg5) → None:
Write a set of elements in Y (row) from vv into pager
Parameters:
  • arg1 (int) – iBz - element # in z (slice #)
  • arg2 (int) – iBy - element # in y (row #)
  • arg3 (int) – iBx - begining element # in x to write (0 is the first)
  • arg4 (int) – iNx - # elements to write (0 for whole vector)
  • arg5 (geosoft.gx.GXVV) – hVV - VV handle
Returns:

Nothing

Return type:

None

New in version 6.2.0.

write_trace_3d((int)arg1, (int)arg2, (int)arg3, (int)arg4, (GXVV)arg5) → None:
Write a set of elements in Z (trace) from pager into vv
Parameters:
  • arg1 (int) – iBx - element # in x (column #)
  • arg2 (int) – iBy - element # in y (row #)
  • arg3 (int) – iBy - begining element # in z to read (0 is the first)
  • arg4 (int) – iNy - # elements to read (0 for whole vector)
  • arg5 (geosoft.gx.GXVV) – hVV - VV handle
Returns:

Nothing

Return type:

None

New in version 6.3.0.

write_wa((GXWA)arg1, (int)arg2, (int)arg3, (int)arg4, (int)arg5, (str)arg6) → None:
Write the contents of a 2D or 3D pager to a WA
Parameters:
  • arg1 (geosoft.gx.GXWA) – WA to write to
  • arg2 (int) – PG_3D_DIR constants
  • arg3 (int) – Reverse X
  • arg4 (int) – Reverse Y
  • arg5 (int) – Reverse Z
  • arg6 (str) – Dummy
Returns:

Nothing

Return type:

None

New in version 6.2.0.

Note:

Each line will hold only 1 value

PG_3D_DIR constants

3D Pager direction
gx.PG_3D_DIR_XYZ = 0
gx.PG_3D_DIR_YXZ = 1
gx.PG_3D_DIR_XZY = 2
gx.PG_3D_DIR_YZX = 3
gx.PG_3D_DIR_ZXY = 4
gx.PG_3D_DIR_ZYX = 5

PG_BF_CONV constants

Pager binary conversions
gx.PG_BF_CONV_NONE = 0
The Data is in Raw form
gx.PG_BF_CONV_SWAP = 1
The data needs to be byte swapped