curve_apps.peak_finder package

Submodules

curve_apps.peak_finder.anomaly module

class curve_apps.peak_finder.anomaly.Anomaly(parent: LineData, start: int, end: int, inflect_up: int, inflect_down: int, peak: int)

Bases: object

Anomaly class.

Contains indices for the maxima, minima, inflection points.

amplitude: float
end: int
inflect_down: int
inflect_up: int
parent: LineData
peak: int
start: int

curve_apps.peak_finder.anomaly_group module

class curve_apps.peak_finder.anomaly_group.AnomalyGroup(anomalies: list[Anomaly], property_group: str, subgroups: set[AnomalyGroup])

Bases: object

Group of anomalies. Contains list with a subset of anomalies.

Parameters:
  • anomalies – List of anomalies.

  • property_group – Channel group.

  • subgroups – Groups merged into this group.

Variables:
  • amplitude – Sum of anomalies amplitudes.

  • center – Center of the group.

  • center_sort – Center of the group sorted.

  • peaks – Peaks of the group.

  • start – Start of the group.

  • end – End of the group.

property anomalies: list[Anomaly]

List of anomalies that are grouped together.

get_list_attr(attr: str) numpy.ndarray

Get list of attribute from anomalies.

Parameters:

attr – Attribute to get.

Returns:

List of attribute.

property property_group: str

Channel group.

property subgroups: set[AnomalyGroup]

Groups merged into this group.

curve_apps.peak_finder.application module

curve_apps.peak_finder.base_dash module

curve_apps.peak_finder.constants module

curve_apps.peak_finder.driver module

curve_apps.peak_finder.layout module

curve_apps.peak_finder.line_anomaly module

curve_apps.peak_finder.line_data module

curve_apps.peak_finder.line_group module

curve_apps.peak_finder.line_position module

class curve_apps.peak_finder.line_position.LinePosition(*, locations: numpy.ndarray, line_indices: numpy.ndarray, line_start: numpy.ndarray, sorting: numpy.ndarray, smoothing: int = 0, residual: bool = False, **kwargs)

Bases: object

Compute and store the derivatives of inline data values. The values are re-sampled at a constant interval, padded then transformed to the Fourier domain using the numpy.fft package.

Parameters:
  • locations – An array of data locations, either as distance along line or 3D coordinates. For 3D coordinates, the locations are automatically converted and sorted as distance from the origin.

  • values – Data values used to compute derivatives over, shape(locations.shape[0],).

  • smoothing – Number of neighbours used by the geoapps.utils.running_mean routine.

  • residual – Use the residual between the values and the running mean to compute derivatives.

  • sampling – Sampling interval length (m) used in the FFT. Defaults to the mean data separation.

compute_azimuth() numpy.ndarray

Compute azimuth of line profile.

interp_x(distance: numpy.ndarray) numpy.ndarray

Get the x-coordinate from the inline distance.

Parameters:

distance – Inline distance.

Returns:

x-coordinate.

interp_y(distance: np.ndarray) np.ndarray | None

Get the y-coordinate from the inline distance.

Parameters:

distance – Inline distance.

Returns:

y-coordinate.

interp_z(distance: float) float | None

Get the z-coordinate from the inline distance.

Parameters:

distance – Inline distance.

Returns:

z-coordinate.

interpolate_array(inds: numpy.ndarray) numpy.ndarray

Interpolate the locations of the line profile at the given indices.

Parameters:

inds – Indices of locations to interpolate.

Returns:

Interpolated locations.

property line_indices: numpy.ndarray

Indices for current line

property line_start: numpy.ndarray

Start index for current line

property locations: numpy.ndarray

Position of values along line.

property locations_resampled: numpy.ndarray

Position of values resampled on a fix interval.

property map_locations: numpy.ndarray

A list where the indices are the resampled locations indices and the values are the original locations indices.

resample_values(values) tuple[numpy.ndarray, numpy.ndarray]

Values re-sampled on a regular interval.

property residual: bool

Use the residual of the smoothing data.

property sampling: float

Discrete interval length (m)

property smoothing: int

Smoothing factor in terms of number of nearest neighbours used in a running mean averaging of the signal.

property sorting: numpy.ndarray

Locations sorting order.

curve_apps.peak_finder.params module

class curve_apps.peak_finder.params.PeakFinderParams(*args: Any, **kwargs: Any)

Bases: BaseParams

Parameter class for peak finder application.

property conda_environment
property conda_environment_boolean
property flip_sign: bool

Flip sign of data.

property ga_group_name: str | None

Name of group to save results to.

get_line_field(survey: geoh5py.objects.Curve) geoh5py.data.ReferencedData

Get the line field object.

get_property_groups()

Generate a dictionary of groups with associate properties from params.

property group_a_color: str | None

Property group a color.

property group_a_data: PropertyGroup | None

Property group a data.

property group_b_color: str | None

Property group b color.

property group_b_data: PropertyGroup | None

Property group b data.

property group_c_color: str | None

Property group c color.

property group_c_data: PropertyGroup | None

Property group c data.

property group_d_color: str | None

Property group d color.

property group_d_data: PropertyGroup | None

Property group d data.

property group_e_color: str | None

Property group e color.

property group_e_data: PropertyGroup | None

Property group e data.

property group_f_color: str | None

Property group f color.

property group_f_data: PropertyGroup | None

Property group f data.

property line_field: ReferencedData | None

Object containing line ids and associated names.

property line_id: int | None

Index of the currently selected line.

property masking_data: Data | None

Mask object to focus peak finding within an area of interest.

property max_migration: float

Threshold on the lateral shift (m) of peaks within a grouping of anomalies.

property max_separation: float

Maximum separation between peaks to merge into single anomaly.

property min_amplitude: int

Threshold on the minimum amplitude of the anomaly, expressed as a percent of the height scaled by the minimum value.

property min_channels: int

Minimum number of data channels required to form a group.

property min_value: float

Minimum absolute data value to be considered for anomaly detection.

property min_width: float

Minimum anomaly width (m) measured between start and end of bounding minima.

property monitoring_directory: str | None

Monitoring directory path.

property n_groups: int

Number of consecutive peaks to merge into a single anomaly.

property objects: Curve | None

Objects to use for line profile.

property out_group: UIJsonGroup | None

UIJson group to use store results.

property plot_result
property smoothing: int

Number of neighbors used in running mean smoothing.

property structural_markers: bool | None

Use structural markers.

property survey
property template_color
property template_data
property title
property trend_lines: bool | None

Create trend lines.

curve_apps.peak_finder.utils module

curve_apps.peak_finder.utils.get_ordered_survey_lines(survey: geoh5py.objects.Curve, line_field: geoh5py.data.Data) dict

Order of survey lines.

Parameters:

survey – Survey object.

curve_apps.peak_finder.window module

Module contents