Skip to content

Scripts to generate simulated galaxy fields and a wrapper for GALFIT.

Notifications You must be signed in to change notification settings

rileypeterson/Gemini-Python-Scripts

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gemini-Python-Scripts

Python scripts developed while working as an intern at the Gemini Observatory in Hilo, Hawaii.
Manual.pdf - Users manual for Software
GALFIT Wrapper - do_everything_v0.py
Simulation Software - make_sims.py
Plotting and Analysis of Simulations - master_stats.py

Works in progress:
-Provide a full example using publicly available data
-Resolve discrepancies with the inverse variance map and the current method for creating the sigma image
-Consider eliminating the dependency of pyraf in favor of astropy modules
-Consider simplifying/revising/automating the refitting process

Status Updates/History:

Sunday March 25, 2018 : Commit

Sunday March 26, 2018 : Commit

  • Continue working on Issue #1 on branch update_sims
  • Next step is to fill out comments, rename to full_config, and adjust make_sims.py to accomodate the config parser NTS use fallback option:
print(cfg.get('Section1', 'monster', fallback='No such things as monsters.'))
    # -> "No such things as monsters."

Sunday April 1st, 2018 : Still working on issue #1. Unfortunately fallback is only available in 3.2+ :(

Monday April 2nd, 2018 : Commit

Friday/Saturday April 6th/7th, 2018 : Commit

  • Continue working on Issue #1 on branch update_sims and Issue #2
  • I'm about to begin refactoring make_feedmes
  • The configuration file is pretty much set up, it just needs to be connected to the variables within the script
  • Started some basic error catching/logging, but also want to eventually create a test file

Wednesday April 11th, 2018 : Commit

  • Continue working on Issue #1 on branch update_sims and Issue #2
  • Created some additional logging features and realize I need to give some thought about how to organize this

Monday April 16th, 2018 : Commit

  • Continue working on the same issues. Next will be to refactor make_feedmes.

Sunday/Monday April 22nd/23rd, 2018 :

  • Refactored the first interpolation. Slowly but surely...

Saturday/Sunday June 2nd/3rd, 2018 : Commit

  • Travelled to Norway recently and have been busy with work
  • Finished the second interpolation, refactored code so it could be imported (i.e. shove things into if name == "main":), trying to keep the logger and config out of functions, pretty sure I'll have the interpolating/creating feedme files done by my next commit (or at least that's a goal to strive for), decided it probably makes a lot of sense to establish a class for galaxies (galaxies are objects why not use OOP):
class Galaxy(object):
    def __init__(self, x, y, mag, re, n, q, pa):
        # ID number associated with
        # Maybe some like file path (to feedme, fits, etc.)
        # Cutout dimensions
        # Galaxy position in cutout (x,y). Position in larger image.
        # Could write methods to generate the sersic profile or add the cutout to a larger image
        self.mag = mag
        self.x = x
        self.y = y
        self.re = re
        self.n = n
        self.q = q
        self.pa = pa
        ...
can use vars(Galaxy(...)) to capture these attributes and save them off into dictionaries or fits tables (probably)

Monday June 4th, 2018 : Commit

  • I think the galaxy class was a great idea, I wrote a function which generates galaxies objects (uses interpolated values if supplied, otherwise random between the range).
  • I think it'd be nice to not require the config file, so I'm trying to write functions that make it optional. It'd be nice to just run python make_sims.py and have it generate a small field of ~10 galaxies. I'll go back and do that at the end.
  • Microsoft acquired github today, and it makes me nervous.

Tuesday June 12th, 2018 : Commit

  • Got the feedme/input files being created. Logging working as expected. Configuration file working as expected. Putting issue #10 on hold for now. Plots being generated as expected. Next is to run the feedmes (easy) and the convolutions.

Sunday July 22nd, 2018 : Commit

  • Finally getting back to this project... work has kept me busy and there's a lot going on this summer. Created the actual galaxy fits models and also have the convolution working. Added a TODO for this line since I'm still not exactly clear on the difference between "fill" and "wrap" for the boundary arg... I recall "wrap" is faster.
  • Next will be creating a mknoise function like iraf's and applying it to individual cutouts. Will require some testing to make sure I get it right. I'm trying to eliminate the need for iraf/pyraf since it is somewhat of a pain to install/setup and it is also archaic. If I can achieve the same result (of mknoise) then I could also port the code to python 3 (I believe that's the only barrier).

Thursday August 30th, 2018 : Commit

  • Working on replacing mknoise found how iraf does this here.

About

Scripts to generate simulated galaxy fields and a wrapper for GALFIT.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages