# PrincipalComponent_AT — Calculates principal components of maps.¶

This module defines the PrincipalComponent_AT class.

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

Calculates the principal components of a set of input maps.

Given N single-plane (i.e., 2-D) images, principal component analysis solves the N-dimensional eigenvalue problem determining the principal directions in N-space of the image data, ranked according to their contribution to the total variance of the sample points (each sample point being the N-vector of image values corresponding to a single pixel position). This decomposition can be used to reduce the dimensionality of the data by identifying components contributing little independent information to the data set. This task also calculates the covariance matrix for input images.

Mathematically, a principal component analysis can be applied to an arbitrary set of images. In practice, the input images should be related in some way; otherwise, the eigenvalues will be of similar magnitude and (as expected) no reduction in dataset dimensionality possible. For astronomical images, the inputs will typically be maps of the same source (at the same pixel scale) in different wavelength bands. In ADMIT, the inputs will often be moment maps produced by Moment_AT.

Keywords

clipvals: list of float
List of threshold values below which each input map value will be clipped (set to zero). The length of clipvals must match the number of input maps; the default empty list implies all zeroes.
covarmin: float
Minimum pairwise covariance for summary output (only); default: 0.90.

Input BDPs

Image_BDP: count: varies
Input images for principal component analysis; e.g., moment maps produced by Moment_AT or CubeSum_AT.

Output BDPs

Table_BDP: count: 3
First table contains the input mean and standard deviation plus output eigenimage filename and variance fractions. Second table is the calculated projection matrix transforming (mean-subtracted and variance-normalized) input data to principal component space. Third table is the covariance matrix of the input images.
Image_BDP: count: varies (equal to input count)
Calculated principal component images (in order of eigenvalue size).
Parameters: keyval : dict, optional Dictionary of keyword:value pairs.

Notes

All input maps must have the same dimensions. Currently only 2-D maps are supported.

Attributes

 _version (str) Version ID string.

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() Task run method. 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() Summary data dictionary. unlink() Decrements the task link count. userdata() User data dictionary. 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]

Computes the principal component decomposition of the input images and populates the output eigenimages and projection matrix.

Parameters: None None
summary()[source]

Summary data dictionary.

userdata()[source]