GithubHelp home page GithubHelp logo

exotic's People

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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

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

exotic's Issues

Fix aperture sizes

Right now, Rob has somewhat arbitrarily coded the aperture sizes that EXOTIC steps through. Should be in sigma values (3,4,5, etc.) at the very least.

Organization of Inputs

Create separate functions that will get inputted data from users whether in init.txt file or command line and verify the inputs are correct from the command line for complete reductions.

Also, change the order in which time/airmass/etc. is sorted so that the user gets the opportunity to enter pixel coordinates after their imaging data has a plate solution.

Check Time and Flux on EXOTIC Inputs

When EXOTIC is being used to purely model the data alone (i.e., someone has done the multi-object photometry on another data reduction software package), we need to ask the user for the units of their timing data and then convert it, if necessary, to BJD_TDB units for accurate modeling in EXOTIC. EXOTIC will also need to get the lat/long of the telescope and RA/DEC of the target (as is currently being done in the "main" portion of the code).

Remove annulus selection + Increase Aperture selection

Add a wider range of apertures based on the PSF width in the first image (Radius~2-5 sigma should be sufficient at increments of 0.1 or 0.25 pixels)

Currently, annulus sizes are varied to estimate the background flux but this can be done with a fixed annulus size and by masking out pixels brighter than the Nth (e.g. 25th) percentile as a way of automatically masking out stars within the annulus. There's no need to loop through various annulus sizes

Realtime Reduction Bug

UnboundLocalError: local variable ‘directoryP’ referenced before assignment.

TL;DR: the variable directoryP is being called before it is even initialized. Need to check the code to make sure that it is initialized before calling it.

Separate out sample data

EXOTIC is big due to the inclusion of sample data. Perhaps we should host the sample data elsewhere so people do not need to download them every time they update EXOTIC via the zip files.

Fix binner

Binner fails when n==1; also needs to take into account the uncertainties of each individual datapoint. Should pass to binner() the uncertainties as well to fix.

Command line arguments

0 arguments initiate an interactive mode
1 argument loads init file
N arguments runs without interactive mode

for the full set of arguments type:
python exotic.py -h

MCMC Priors

Currently in the MCMC, only the airmass coefficients, mid-transit time, and transit depth are free to be explored with the sampler. Can explore allowing more free parameters to more accurately retrieve final parameters.

Check User Inputs

Move planetary system parameters into the init.txt file. Have EXOTIC then check these values against the NASA Exoplanet Archive and raise an exception if they do not match. If the user does not supply them, then proceed as usual by scraping them from the Archive automatically and then asking user for agreement.

Also double check that the x,y pixel coordinates of the target star agree with the plate solution of the image.

Standalone, Interactive Model Fitting to Lightcurves

The MicroObservatory has requested that we develop a tool to allow their users to fit (by eye) their photometric transit lightcurves with a model. An easy way to do this is to extract the model lightcurve function from EXOTIC and then wrap it in Bokeh, an interactive plotting tool, and then to add some sliders to allow the user to tweak the mid-transit time and transit depth to fit their data "in real time".

Make binning of large datasets optional

Right now, if a user has >200 datapoints, EXOTIC will automatically bin down the data to reduce the MCMC runtime. Should make this an option for the user in case they really do want to reduce the data as-is.

Repeating warning on Windows machine (at least)

C:\Program Files\Python37\lib\site-packages\skimage\feature\__init__.py:43: skimage_deprecation: Function ``register_translation`` is deprecated and will be removed in version 0.19. Use ``skimage.registration.phase_cross_correlation`` instead.
  removed_version='0.19')

^ Repeated hundreds of times during the phase.

Comp Star != Variable Star

Using the plate solving, confirm that the user has not accidentally selected a variable star as the comparison star. Or if they do, at least raise an exception.

Better installation instructions

Need an environment setup for windows people - issue with astroalign and compiling C code without setting up environment paths before hand

  1. Native Windows
  2. Anaconda

Better troubleshooting for common installation problems

Tweak Final Lightcurve Plots

Per Martin's suggestion, make the edges of the plot area and the labels in black. Right now, they look like they are in grey.

Calculate pixel scale

Some users do not know the pixel scale. However, we can directly calculate it due to the plate solution. Now recommend just automatically calculating the pixel scale after doing the plate solution and asking the user to check.

MCMC Runtime

Currently the MCMC is hard-coded to run for 100,000 iterations and does no "real-time" convergence tests. Could explore stopping the MCMC after it has achieved convergence by the Gelman-Rubin statistic or the other built-in samplers.

On-chip Guiding

It looks that the tracking of your Celestrons is not perfect. We should explore on-chip guiding, where any changes in the location of a bright field star (or the target itself) are compensated by sending movement commands to the telescope mount. Could be part of the real-time data reduction code.

More robust planet name filtering

Right now, users are getting an error if they input "HAT-P-32b" instead of having a space between the host star name and the planet letter. If they input the planet name in this manner, an error is raised. Maybe have EXOTIC correct the planet name to add the space and then have EXOTIC ask the user to check the changed name.

For example:

User inputs "HAT-P-32b"
EXOTIC sees the lack of a space and says to the user:
"Did you mean HAT-P-32 b? (y/n)" or something similar
Then the user can confirm.

Fix Manual Planet Entry

Right now, when the user inputs a planet name that is not on the NASA Exoplanet Archive, EXOTIC asks the user to type in "manual" - instead, @rzellem recommends that if the user types in a planet name that is not recognized in the NASA Exoplanet Archive, EXOTIC asks the user to check their spelling or to confirm that this is a planet candidate. If it is a candidate (and therefore not listed in the Archive), the user has to manually input the planetary parameters.

Otherwise, right now when the user inputs the word "manual", EXOTIC crashes.

User input of RA at command line not working.

From EXOTIC user: "When inputting the Dec for the target star, the program isn't recognizing that I've placed a + in front of the coordinates, and I'm unable to move forward in the process. I've attached a screenshot for you to look at.
On my first attempt I had forgotten to type the +.
On the second attempt I did type the +, but it returned an error message that I had forgotten it.
On the third attempt, I tried putting a space between the + and the number 46.
On the fourth & fifth attempts, I tried using different + keys, one from at the top of the keyboard and the other from over on the number pad, to see if that would make a difference. It didn't."

Screenshot of EXOTIC

Add in Auto-guider Function to EXOTIC

Right now, the Celestrons do a fairly good job on guiding on our stars. However, after ~10 minutes, they start to fall off the detector. Therefore we need to track on the target star (or nearby bright star) to tell the telescope mount to slew the stars back to the center of the field. @pearsonkyle has a star tracking code that we use at Palomar and it can be adapted to the Celestrons.

Check *all* Paths at Beginning

Right now, some users are finding that if they accidentally type in the, e.g., output path incorrectly, that EXOTIC will fully crash. This is particularly annoying as EXOTIC will fully run to the end and then fail just before saving all of its output.

Recommend that we check all directories at the very beginning of the code and then throw the user an error message if anything is wrong. That way they have the chance to fix things before they break.

Create a log

Create a log to store issues in case the user closes EXOTIC or it crashes.

Instructions on "How do I Get Involved?"

Need content for how to get involved in Exoplanet Watch including how to conduct your own observations or how to reduce data that is from a robotic telescope.

QOL Improvements for prompts

Many of the prompts cause errors that cause the user to lose all their progress if the value they enter is in an incorrect format, for example, a float instead of an int. These could easily be fixed with some checking and some try/catch. Also, there is no way to re-enter a value if, for example, the user makes a mistake. We could make a prompt wrapper and check for a "back" command as well as incorrect values so that the user is reprompted instead of an error being thrown. Would it be ok for me to make a PR with some quality-of-life improvements like these?

Plate Solution Safeguard & Added Functionality

If nova.astrometry.net throws an error when requesting a session (such as website being down), inform the user and continue on with reducing data. Also, look into ASTAP since users do plate solve through there and see how well it works with EXOTIC when searching for coordinates. If it works, great! If not, add the ability to read off the file's information.

Adjust Maximum Memory Allocation

A user's computer can open only so many fits files before its memory is filled. The default is typically set to a very low number. Need to increase this number.

Add more interactivity for WCS plate solutions

  1. check if the image has WCS info in the header already

  2. if yes, then ask if they want to trust the WCS info

  3. if no (either they do not have WCS info or they do not want to trust the WCS info), ask the user if they want to use astrometry.net

  4. if yes, then proceed as usual

  5. if no, then make sure you have a boolean that triggers to skip the parts of all of the following code that uses the WCS info

Tweak Final Lightcurve Plot

Currently the final light curve plot is not visually friendly. Maybe turn current black points to grey to bring out the blue, binned points?

Update EXOTIC Instructions

Need to update EXOTIC installation and use instructions and point to them on the Wiki page (or copy them there as well). Also need more instructions on how to use EXOTIC on the Google Collab.

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.