Skip to content

astroweaver/pygappy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pygappy

Robust PCA Projection

About

Written by John Weaver (St Andrews/Copenhagen 2018)

Based on the original Principal Component Analysis (PCA) projection routine by Vivienne Wild, including fitting around bad values (gappy), and unknown normalization factor (norm-gappy). For information about gappy PCA, please refer to Wild et al. 2007.

You can test the installation and/or try-out the software by running the "pca_tryme.py" script.

Please refer to Wild et al. (2007) when using this package: Wild, V., Kauffmann, G., Heckman, T. et al. (2007, MNRAS 381, 543–572)

References

[1] Connolly & Szalay (1999, AJ, 117, 2052) http://www.journals.uchicago.edu/AJ/journal/issues/v117n5/980466/980466.html [2] Lemson, "Normalized gappy PCA projection"

Quick How-to

  1. If required, set the error value of any excluded points to zero.

  2. (optional) Apply a Galactic dust correction of your choice.

  3. If not done already, shift wavelength array to restframe. Interpolation should be avoided where possible.

  4. Select N number of eigenspectra to apply. If N is less than 3 (not advised), also pass that number to visualization.pca_plot([args], Nshow = N).

  5. Choose either pca_gappy or pca_normgappy to project eigenbasis onto data array. Note: The mean spectrum argument should always take the mean array of the original eigenbasis!

  6. Extract 1-sigma errors by setting cov = True and run np.diag(np.sqrt(cov)).

Project Organization

.
├── AUTHORS.md
├── LICENSE
├── README.md
├── config
├── data
│   ├── pcavo_espec_25.sav
├── docs
├── pca_tryme.py
└── src
    ├── __init__.py
    ├── pca_projection.py
    ├── visualisation.py

About

Robust PCA Projection

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages