Git Product home page Git Product logo

oscaar's Introduction

OSCAAR is no longer supported

Please see the comparable and more advanced tools available in the astropy ecosystem like photutils and ccdproc, as well as the tutorial in the CCD Data Reduction Guide.

oscaar's People

Contributors

bmorris3 avatar breaks-software avatar dmgaldi avatar luukvisser avatar naveedc avatar samthegeek avatar synfo avatar tamorris avatar tintoyuk avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

oscaar's Issues

Make flat-making OPTIONAL

Currently you must put in a master flat or a series of images to make a master flat with, in order to run oscaar. Make an option for "No flat correction" that drops a "placebo flat" into the variable for the masterflat, ie, an array of all elements=1.

Ingress/Egress time requires seconds input.

Seconds shouldn't be required in Ingress/Egress time, ETD doesn't always report it so that may come back up. It's hard coded to look for HH:MM:SS where it should be able to accept HH:MM.

matplotlib and wxPython are clashing?

Something is causing everything to crash when the user presses any key will differentialphotometry.py is running, and the plots are no longer being displayed.

Can you two figure out why this isn't working? @OSCAAR/contributors

I think something is wrong with using the "plt" module in interactive mode (plt.ion() turns interactive mode on) while wxPython is working.

Git tip for pushing

I think sometimes we've had issues pushing and pulling because Sam makes branches and we don't specify that we want to push to the master. I think I just accidentally merged Sam's branch with ours because of that (correct me if I'm wrong Sam).

To avoid this, always git push origin master.

gui.py parsing the wrong time

When I run gui.py, it seems that the ingress and egress times are being parsed improperly:

>>> python gui.py
  File "gui.py", line 217, in runOscaar
    self.parseTime(self.ingressDate.GetValue(), self.ingressTime.GetValue(), 'Ingress: ',  init)
  File "gui.py", line 287, in parseTime
    result = str(dateArr[2]) + '-' + str(dateArr[0]) + '-' + str(dateArr[1]) + ';'
IndexError: list index out of range

New photom

I've made the newest version of "photom", which is working now all the way from input paths to light curves. Could we work to redirect oscaar to execute "differentialPhotometry.py" now? @SamTheGeek @dmgaldi

Some of the former radio-button/text-entry parameters have been deprecated.

Outreach

  • Find similar codes, look to see who their users are
  • Contact small observatories to inquire about interest, their needs and wants in a code like oscaar
  • Pimp out the Facebook page

Suggestions from Luuk - Feb 14, 2013

From Luuk Visser:

  • You ever created an EXE from a Python script? Find some real issues doing that for the first time. I did it like 100 times now, so I can help with that (PyInstaller 1.5.1 is what I use, new 2.0 version has some issues for PyQT4).
  • And you can also use os.walk instead of glob, keeps number of imports smaller.
  • And you can for the init.par file, use a standardized way for config files (ConfigParser library) in a init.ini file.

Running differentialPhotometry.py results in error

This is the output I get:

plottingThings
start
init fig
adjust fig
done plottingThings

../Extras/Examples/20120616\tres1-020.fit
An error has occured in oscaar.phot(),
Returning flux = 1
Traceback (most recent call last):
File "R:\NASA\OSCAAR-master\Code\differentialPhotometry.py", line 80, in
if trackFlag or photFlag and (not data.getFlag()): data.setFlag(star,False) ## Store error flags
TypeError: getFlag() takes exactly 2 arguments (1 given)

If I fix this by adding the 'star' parameter in data.getFlag() (so: data.getFlag(star)), will result in the next output:

plottingThings
start
init fig
adjust fig
done plottingThings

../Extras/Examples/20120616\tres1-020.fit
An error has occured in oscaar.phot(),
Returning flux = 1
An error has occured in oscaar.phot(),
Returning flux = 1
An error has occured in oscaar.phot(),
Returning flux = 1
An error has occured in oscaar.phot(),
Returning flux = 1
An error has occured in oscaar.phot(),
Returning flux = 1
An error has occured in oscaar.phot(),
Returning flux = 1
An error has occured in oscaar.phot(),
Returning flux = 1
An error has occured in oscaar.phot(),
Returning flux = 1
An error has occured in oscaar.phot(),
Returning flux = 1
An error has occured in oscaar.phot(),
Returning flux = 1
...
...

gui.py OscaarFrame issue

When running gui.py on my machine with the current repository, I get the following error during the initialization of the UI:

[galileo:~/git/OSCAAR] bmorris% python gui.py
Traceback (most recent call last):
File "gui.py", line 470, in
OscaarFrame(None) ##Run the GUI
File "gui.py", line 24, in init
self.InitUI()
File "gui.py", line 35, in InitUI
self.Bind(wx.EVT_MENU, self.setDefaults, self.menuDefaults)
AttributeError: 'OscaarFrame' object has no attribute 'setDefaults'

Help Button on OS X

In the function helpPressed in gui.py correctly open the documentation pdf for os x.

Reorganization

Organize code files into folders so that the user doesn't have to confront them

Path errors on Ubuntu system

When entering the path directories for flats/dark frames I had to explicitly write out /pathto/.fit and include the .fit where I should be able to just do /pathto/ since that is understood at all the files in that directory.

Twilight flat field calculations

Include twilight-flat field method (alternative to masterFlatMaker()) with sigma-clipping linear fitting method. Tweak the GUI to allow for selection of the typical (fast) median master flat calculator or the sophisticated (slow) sigma-clipping linear fitting method.

Notes Field

  • Create a blank text box in the GUI for user-entered notes on the run
  • Save those notes to a .txt file in the output folder

Output Directories

Make the code write all outputs to a new directory named with the date and time

Default File Extension for master flat

Allow the user to specify the output path with a '.fits' at the end for a master flat, or not. Detect whether or not the extension has been indicated, and if not, add one.

Incorrect writes to Init.par

When the GUI runs Oscaar, the pattern of writing to init.par is not the same as the existing format of the file.
Screen Shot 2013-02-18 at 8 48 00 PM

Help button/drop down

The Help drop down menu doesn't come up in Mac OS X 10.6 until you click on another drop down (File, Window, etc), and the Help button within the GUI has disappeared..

Set auto-focus in GUI

When opening the oscaar GUI, set the focus automatically to the run button, and when prompting about overwriting the output, set the focus to "Yes".

gui.py Check File "file1.txt"

If gui.py gets killed before it terminates on its own, it does not delete "file1.txt". To be sure that it does delete "file1.txt", and can't read one that already has been written with "done", there should probably be a few lines in with the overwrite checks to look for leftover "file1.txt"'s and delete any that exist.

Documentation Update

  • Add scipy to the required downloads (usually paired with numpy)
  • Document wxpython installation on all three OSes (current version, and one back)

gui.py Errors to stderr

Errors print to stderr when opening webpages. Here's the error I get:

[galileo:~/git/OSCAAR] bmorris% python gui.py
2013-02-11 18:43:15.665 osascript[23014:60b] Error loading /Library/ScriptingAdditions/Adobe Unit Types.osax/Contents/MacOS/Adobe Unit Types: dlopen(/Library/ScriptingAdditions/Adobe Unit Types.osax/Contents/MacOS/Adobe Unit Types, 262): no suitable image found. Did find:
/Library/ScriptingAdditions/Adobe Unit Types.osax/Contents/MacOS/Adobe Unit Types: no matching architecture in universal wrapper
osascript: OpenScripting.framework - scripting addition "/Library/ScriptingAdditions/Adobe Unit Types.osax" declares no loadable handlers.

This error doesn't seem to effect the functionality of gui.py, but it looks scary. Any insights?

Help Window

External Help Window

  • Opens when 'help' is pressed in GUI
  • Contains button to open self-contained documentation
  • Links to Oscaar website
  • Guides users to Github for code questions
  • Asks them to post issues, bugs, & enhancements in the feature tracker

Random Order in the Data Frame Loading

I'm not entirely sure about this but it seems like the order in which the data frames are loading is totally random which is obviously causing tracking issues. I assume that when it's displaying the tracking plot that a star should be in the aperture frame the whole time which it definitely isn't. When I looked at the terminal it stated 'Loading Frame: ###z.fit where ### was jumping around all over the place.

Where should 'Help' go?

As we're finishing up the GUI, I've been thinking - where do we send people for help? If we're including documentation, we ought to have the help button open the pdf, rather than the website.

This would create a far superior experience when people use OSCAAR - especially if they run it in the field, where they may not have an internet connection at all. (Just like outside at the observatory!)

Pickles

Several Enhancements

IO

  • Save all data generated into npy-pickles
  • Change the radio button options for "Display Plots" in the main GUI, and create options to open the plots in wxPython, matplotlib, or open no plots.

    New code

  • Create separate matplotlib script that generates interactive plots for all data using the data in those pickles.
  • This script can be run without recalculating the photometry.

Run Summary

Include a text summary of each run (notable events, how much data was processed, etc.) in the output folder at the end of any run.

Enable variable FITS Header reading for parameters like exposure time ('JD')

Currently, we read the FITS header line labeled "JD" to use as the exposure time. For different CCDs, the label that the user may want to call for the exposure time may be different. Add this as a new parameter to init.par.

Maybe look up different preset headers from different software/CCDs and enable "presets" to be written into oscaar that can be loaded.

GUI.py looks for OSCMDS.py

GUI.py will not launch, expects OSCMDS in the same folder. OScmds is now deprecated, as we're switching to python's OS functions.

Observatory presets

First write up backend parsing tools that make a text file like init.par for the observatory settings, ie the CCD's FITS header tags for the time and the gain.

Make a button like the Flat gui button that opens a GUI to edit the contents of the observatory settings file.

Cross-Platform Compatibility

Issues from Wiki

  • Check that all os.system('ls ...') commands have been converted to globs
  • Change os.system calls to their direct equivalent os calls. For example: os.system('rm ') is equivalent to os.remove('').

Goal

  • Have Oscaar running on all three targeted OSes.

Importing oscaar.py doesn't work from gui.py

I'm not sure if it is possible to import a module that is not in the same directory of the file. Even if I change the working directory I am still not able to import it. This seems to be the only problem preventing me from running the script from the gui at this point.

Make init.par analogue for the flat making parameters

Currently when the flat-maker GUI is opened, there are no defaults placed in the browse fields. It'd be great if we could fill that in with the previously selected paths by saving the paths to a text file that we parse, just like init.par -- call it flat.par.

Make an output file text ctrl

the outputPath variable in the most recent differentialPhotometry.py should be a GUI controlled parameter and also a line in init.par.

Make GUI Executable

  • Make the GUI able to run with a double click on any OS.
  • No command line should show when GUI runs (until Oscaar runs)

System Bell

Ring the System bell upon completion of GUI run

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.