gabriel-p / photpy Goto Github PK
View Code? Open in Web Editor NEWPython CCD photometry
Home Page: http://photpy.rtfd.io/
License: GNU General Public License v3.0
Python CCD photometry
Home Page: http://photpy.rtfd.io/
License: GNU General Public License v3.0
Find all stars in common between both frames
Use those stars to solve for the parameters of the general six-parameter transformation:
x_1 = A + C*x_n + D*y_n
y_1 = B + E*x_n + F*y_n
Output transformation values to file (to be used by match_transf
as done by DAOMASTER to refine the matching)
This way we are reproducing the tasks carried out by MATCH.
The findRotAngle()
function will (should) fail if one of the frames is flipped with respect to the other.
The techniques of least squares and stellar photometry with CCDs, Peter B. Stetson (1989)
Lecture by P Stetson himself. Lots of details about how MATCH and MASTER work at the end.
Modern Observational Techniques: Fall 2015, Mike Bolte
Algorithms for CCD Stellar Photometry, Kenneth J. Mighell (1999).
Basic techniques of aperture and PSF-fitting CCD stellar photometry are discussed in detail. Describes the process of finding stars as peaks and centering them, transforming from raw signal to instrumental magnitudes (and errors), aperture correction, PSF fitting (lots of math).
After Fitting the PSF
Basic tutorial that gives a description of the DAOMATCH & DAOMASTER processes.
How to make Color-Magnitude Diagrams of Star Clusters, Chomiuk (2006)
Small tutorial, not much information.
CCD photometry docs:
Make this script more general so that it can act as as replacement to the (DAO)MATCH code.
match_transf
as done by DAOMASTER to refine the matching)The photcal/fitparams IRAF task shows a sigma
column when :vshow
is used, with values for each star used in the fit. These values are used to obtain the reduced chi, and others statistical parameters.
How are these sigma
values obtained? The code seems to write to that column a 1/sqrt(X)
and the description of :results
(in inlfit, see below) states that this is a weight.
fitparams uses INLFIT ("The interactive non-linear least squares fitting package") which uses the standard Levenberg-Marquardt non-linear least squares algorithm to fit the data.
Detailed descriptions of the algorithm can be found in the following two references.
- Bevington, P.R., 1969, Data Reduction and Error Analysis for the Physical Sciences, Chapter 11, page 235.
- Press, W.H. et al., 1986, Numerical Recipes: The Art of Scientific Computing, Chapter 14, page 523.
Related data:
Use the coords already generated by fitstats
, if they exist.
See #1
This script should act as as replacement to the (DAO)MATCH code.
Currently the triangleMatch()
function uses all the stars in both frames to obtain the possible triangles. MATCH uses the brightest 30 which sounds reasonable.
Astroalign: A Python module for astronomical image registration
See 2. Cross-matching
section:
https://sandipanweb.wordpress.com/2017/07/29/some-analysis-with-astronomy-data/
List of issues to close before 1.0 can be published:
psfmeasure
in fitstats
script #17align_crop
and deprecate the alignment #20pymatch
process from id_standard
#19fit_standards
script #10psf_phot
script #18Two good resources (source):
The 2017 and 2018 versions of my lecture notes are here:
2017: https://ysbach.github.io/AO_2017/
2018: https://ysbach.github.io/AO_LectureNotes/
The standards stars in a given field should be automatically assigned to detected stars in the observed frame.
See algorithm for polygon stretching: https://gist.github.com/hellpanderrr/2b2252e350a0e20c7271
The alignment process should be deprecated in favor of the more general pymatch
script (see #19). The crop process should be kept from this script, to see if it can be used.
Main article: https://photutils.readthedocs.io/en/stable/psf.html
Uncertainties
Generate PSF model from stars in frame? (astropy/photutils-datasets#4)
Do the *PSFPhotometry classes replace IRAF's allstar
?
Aperture correction?
Summarized points: GUIDE TO COMPUTING A PSF IN A CROWDED FIELD
Currently the id_standard
script uses a .coo file from fitstats
to fins the scaling, rotation, and translation for the observed standard frame to match the standard stars image.
This is nor correct since after the align_crop
script, the coordinates will change. The script needs to run DAOStarFinder
to generate its own set of coordinates from an already aligned frame.
The coords of "good" stars found by get_data
should be stored in a .coo file.
These coords can later be used by the align_crop
script, and save the time it takes to obtain them.
Read
Properly assign error to the magnitudes obtained for the standard stars.
Photutils example: https://photutils.readthedocs.io/en/stable/aperture.html#error-estimation
How is the value returned with the method shown above related to the merr
value given by IRAF's phot
task?
(Is this the code used to perform the Bayesian, outlier model, 2D uncertainties fit?)
OLD (below)
Explore linear fitting methods for replicating fitparams
Currently the align_crop
script will use as a reference frame (if none is given) the one with the most stars found.
This frame is not always the best one to use. If one or more frames are detected as possible bad alignments, the reference frame should be switched and the process applied again.
Do this until all frames are aligned, or until no more frames are left. In the latter case, use the run where the most frames were properly aligned.
Currently the fitstats
script uses the psfmeasure
task to isolate bright stars and estimate the frame's FWHM.
This single task makes the package depend on PyRAF (and IRAF), which is not good.
Find (or create) a replacement built on Python.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.