ADMITSegmentFinder — Finds segments of emission within a spectrum.¶
This module defines the class for spectral line segment detection.
-
class
admit.util.segmentfinder.ADMITSegmentFinder.
ADMITSegmentFinder
(**keyval)[source]¶ Define segments of ‘line’ emission where segments from data appear to be above a threshold. This routine comes out of ASTUTE, some parameters below are hardcoded.
Parameters: freq : float array
Frequencies, GHz.
spec : float array
The y component of the spectrum (arbitrary units, could be linear, could be log).
f : float
Robustness parameter [1.5].
pmin : float
Signal above cuttoff, rmean+pmin*rstd.
minchan : int
Minimum number of channels needed for a line.
maxgap : int
Allowed channels with signal below cutoff [0].
nomean : bool
Remove the mean from any noise and cutoff calculations. This is useful if PVCorr based spectra are being processed to get a correct noise level. Default: False.
Returns: 4-tuple
channel_segments[], cutoff, noise, mean
Methods
find
()Method that does the segment finding line_segments
(spec, cutoff)Method to find segments that where lines are located set_options
(\*\*keyval)Set the options for the line finding algorithm. -
find
()[source]¶ Method that does the segment finding
Parameters: None
Returns: Tuple containing a list of the segments, the cutoff used, the
noise level, and a mean baseline.
-
line_segments
(spec, cutoff)[source]¶ Method to find segments that where lines are located [ [start1,end1], [start2,end2], ....]
This function assumes you’ve subtracted a possible continuum (see the nomean parameter), and applied the absolute value, because this routine only segments above the cutoff.
Need some explanation on the use of abs here.
Parameters: spec : numpy array (with a mask)
The spectrum to analyze
cutoff : float
The cutoff to use (line segments must be higher than this value)
Returns: List of segment start and end channels, e.g. [[10,20],[30,40]]
-
set_options
(**keyval)[source]¶ Set the options for the line finding algorithm.
Parameters: freq : float array
Frequencies, GHz.
spec : float array
The y component of the spectrum (arbitrary units, could be linear, could be log)
f : float
Robustness parameter [1.5]
pmin : float
Signal above cuttoff, rmean+pmin*rstd
minchan : int
Minimum number of channels needed for a line
maxgap : int
Allowed channels with signal below cutoff [0]
-