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:
objectAnomaly 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:
objectGroup 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.
- 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:
objectCompute 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.fftpackage.- 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_meanroutine.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:
BaseParamsParameter 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.