# LineSegment_AT — Finds segments of line emission in spectra.¶

This module defines the LineSegment_AT class.

class admit.at.LineSegment_AT.LineSegment_AT(**keyval)[source]

Task for detecting segments of emission from an input spectrum, given cutoffs based on the rms noise.

The produced LineSegment_BDP contains a list of all line segments found in the input spectrum. Additionally a spectral plot with overlaid segments is produced for each input spectrum.

Keywords
numsigma: float
Minimum intensity, in terms of one sigma rms noise, to consider a given channel to not be noise. Default: 5.0.
minchan: int
Minimum number of consecutive channels above numsigma to consider them part of a line. Default: 5.
maxgap: int
The maximum gap to allow between clusters of channels to consider them to be separate lines. Default: 3.
segment: string
The name of the segment finder algorithm to use; choices are: ASAP and ADMIT. (see ASAPSegmentFinder — Finds segments of emission within a spectrum. and ADMITSegmentFinder — Finds segments of emission within a spectrum. for details of each) Default: “ADMIT”.
smooth: list
Use this parameter to smooth the input spectrum. Format is a list containing the name of the smoothing algorithm followed by the parameters for the algorithm, given in the order they are defined in the documentation. The algorithms are: boxcar, gaussian, hanning, savgol, triangle, and welch. All but savgol take a single integer parameter for the width. See Filter1D — 1-dimensional spectral filtering. for details on the individual algorithms and their keywords. To do no smoothing, set the value to []. Example: [“boxcar”, 7] will do a boxcar smooth with a width of 7. Default: [].
recalcnoise: bool
A boolean to indicate whether the noise should be recalculated after smoothing. True indicates that the noise should be recalculated, False indicates that the noise of the unsmoothed spectrum should be used. Default: False.
csub: list
The polynomial order to use for fitting the continuum of CubeStats and CubeSpec based spectra. All CubeStats based spectra must be continuum subtracted in order to obtain proper fits (peak, fwhm), but continuum subtraction for CubeSpectrum based spectra is optional. The first argument in the list is the order of polynomial to use for the CubeStats based spectrum and the second is the order of fit to use for CubeSpec based spectra. Default: [1, None] (1st order for CubeStat and no fitting for Cubespec based spectra).
iterate: bool
If True then iterate for both the segment finder and the peak finder to make them both sensitive to wide and strong narrow lines. Default: True.
Input BDPs

At least one of the following BDPs must be specified.

CubeSpectrum_BDP: count: 1 (optional)
Input spectrum, as from CubeSpectrum_AT.
CubeStats_BDP: count: 1 (optional)
Alternative input spectrum, as from CubeStats_AT.

Output BDPs

LineSegment_BDP: count: 1
List of line segments.

Methods

 addinput(item[, slot]) Add a BDP input to an AT. addinputbdp(item[, slot, insert]) Add a BDP to the _bdp_in list. addoutput(item[, slot]) Add a BDP output product to an AT. addoutputbdp(item[, slot, insert]) Add a BDP to the _bdp_out list. baseDir([path]) Get/set project base directory. bestMatch(at1, at2) Determines the better match of two tasks to the current one. checkfiles() Check if the files from all the BDP_out’s in an AT exist. checktype(item) Check the type of an object to see if it is a BDP. clearinput() Clear the input BDP list. clearoutput([delete]) Clear the output BDP list. copy() Creates an independent duplicate of the task. delete() Method to delete the AT and underlying BDPs. delinput(slot) Delete a specific BDP in the _bdp_in list. deloutput(slot) Delete a specific BDP in the _bdp_out list. dir([filename]) Absolute directory reference of the ADMIT project. dryrun() Method to do a dry run of the AT, generally just checks input values for errors. enabled([state]) Returns current task enabled setting, with optional reset. execute([args]) Executes the task. freeAlias(aliases[, alias]) Deletes alias reservation, if present. get(attrib) Method to get the given attributes value getProject() Retrieves project ID associated with the task. getVersion() Return the version string. getdtd(fl) Method to write out the dtd data. geteffectivelevel() Method to get the effective logging level of the logging subsystem getkey(key) Retrieval value for a key. getloggername() Method to get the name of the logger for this AT instance getlogginglevel() Method to get the current logging level of the AT haskey(key) Query if a key exists for an AT. html(inheader) Method to represent the current AT in HTML format. id([strip]) Returns task ID number. isAutoAlias([withEmpty, compat]) Whether the task alias appears to be auto-generated. isequal(at) Method to determine if two ATs are the same. isstale() Returns whether the AT is out of date. len2() Returns the length of _bdp_in and _bdp_out in a tuple. link() Increments the task link count. markChanged() Mark an AT that it’s state was changed, so it would need to be rerun. markUpToDate() Resets _stale to indicate that the AT does not need to be run. merge(at[, aliases]) Merges attributes from another task. mkdir(dirname) Make a directory in the ADMIT hierarchy. mkext(filename, ext[, alias]) Return a new filename with a new extension with optional ADMIT alias. newId(tid) Assigns the task a new ID number. reset(a) Performs an in-place shallow copy. run() The run method, locates lines, attempts to identify them, and running([state]) Returns current task execution flag, with optional reset. save() Save (write) any BDPs connected to this AT. set(item, val) Method to set protected attributes, rather than direct access setAlias(aliases[, alias, auto]) Sets and registers the task alias, guaranteed unique among registered aliases. setProject(pid) Adds a project ID to task ID. set_bdp_in([bdpin]) Validate the _valid_bdp_in list and digest it into the appropriate attributes. set_bdp_out([bout]) Validate the _valid_bdp_out list and digest it into the appropriate attributes. seteffectivelevel(level) Method to set the effective logging level of the logging subsystem setkey([name, value, isinit]) Set keyword value. setloggername(name) Method to set the name of the logger for this AT instance setlogginglevel(level) Method to set the logging level show() Return the AT type. statusicons() return some html icons representing the enabled/stale status of this task summary() Returns the summary dictionary from the AT, for merging into the ADMIT Summary object. unlink() Decrements the task link count. userdata() Returns the user dictionary from the AT, for merging into the ADMIT userdata object. validateinput([describe]) Method to validate the _bdp_in’s against a dictionary of expected types. validatekeys() Method to error check all input keys. write(node) Method to write the AT to disk.
run()[source]

The run method, locates lines, attempts to identify them, and creates the BDP

Parameters: None None
summary()[source]

Returns the summary dictionary from the AT, for merging into the ADMIT Summary object.

LineSegment_AT adds the following to ADMIT summary:

Key type Description
segments table table of parameters of discovered segments
spectra list the spectral plot of signal, noise, and S/N
Parameters: None dict Dictionary of SummaryEntry