yerkesobservatory / atlas Goto Github PK
View Code? Open in Web Editor NEWA web interface for remote operation of telescopes
License: GNU General Public License v3.0
A web interface for remote operation of telescopes
License: GNU General Public License v3.0
We need a Luigi task to perform bias subtraction using the master bias created in #13
Implement a scheduling algorithm to maximize the effectiveness of the queue. Possible options
This needs refinement and discussion. See Viv for more information/thoughts.
When an observation or session is complete, we should change the action button to be "green" (info html class) and remove the ability to delete the observation/session.
Given a list of observations (by RA-DEC), return a list of observations and what time to observe them.
When a user opens the login page, the background loads, but it then flashes white for a second or two, before returning the background. This is undesired behaviour (obviously).
Is it related to the automatic weather-based background changing?
The Aladin image preview is not working; browsers are blocking it since it makes requests to http (insecure) sites from our https site.
In order to support realtime control of the telescope from the web app, we need a Javascript version of our Python client. The JS must maintain the exact same behaviour/API as the Python version. This should be a fairly straightforward line by line conversion from Python to Javascript.
See here for a reference on Javascript classes for those unfamiliar.
Due to the repetitive nature of the class, (how each class calls its own name in the commands), this could probably be done with some Javascript trickery in only a handful of lines. Extra points for completing it that way!
A basic walk through stepping users through the site should be developed using bootstrap-tours
. A flag should be called in the users database entry so that they only see the walkthrough once.
When looking at the list of users in the admin section of the app, the only user listed as Admin is the current logged in user, not any of the other admins. This has something to do with the reactive-table
in web/imports/admin.js
.
telescope.weather_ok
calls get_cloud
, get_dew
, get_moon
, get_rain
, and get_sun
, despite most of that information available in ONE call to tx taux
. This should be rewritten with a better regular expression or another method.
Moved the password reset request, and change password pages to the new styling (as per frontend_branch)
Add option to control dithering from the web interface:
An option to enable/disable dark's as a filter for observations.
When attempting to add a second program, the error "A program with that name already exists" appears.
Since the database info needs to be accessed from the pipeline, the web server, and potentially other sources, it's best if we switch to a database server (as opposed to a SQLite instance contained within the web app).
We need to evaluate which database product best fits our need. If SQL, Postgres is probably the best option. If not, something else (Rethnink? Mongo?)
The HTTP requests that occur during find_target occasionally timeout (we may be hitting a rate limiter); this throws a timeout exception. We should catch this exception, sleep for 1 second, and try that object again because otherwise the object is never scheduled.
As per subject, enable different exposure times for different filters in execution.
The calendar API is returning datetime's from the wrong timezone; the calendar is returning datetime's from UTC-8, but SEO is UTC-6.
When setting up a new user, the "edit profile" section is blank as the values for each field (i.e. firstName) are blank, and are therefore not rendered by editableText. We need to still render a text box even when the value is empty.
A chat box on the admin web page to allow communication to
This must be implemented in the web app.
Skills required:
See 1, 2. These packages may allow us to do this very easily.
Design and implementation of queue page, with requests to telescope API to get telescope status, and submit new queue requests.
Currently, the only way to change your password is to logout and use the reset password link. We should allow users to change their password while logged in without sending a reset email.
Provide API to execute remote commands on aster via SSH (using Paramiko). Necessary for control of telescope.
We need to create a Luigi task to perform WCS correction on each of the images after dark/bias subtraction, and flat correction.
It's been requested that we keep track of individual user metrics, such as:
There's a desire to add the two dome cameras to the real-time control page/GUI. These cameras could be forwarded to RTSP streams on sirius
and then accessed from the web page.
This task requires some experience with HTML/JS programming to get access to the RTSP stream.
When someone is using the GUI, stream their actions to anyone else who is signed on so they can watch the telescope be used.
We need to enable astrometry-net as a submodule of the pipeline. This will require
pipeline/astrometry
config.yaml
pipeline/astrometry/indexes
We need a Luigi task to create/find master frames i.e.
The current scheduling algorithm requires RA/Dec information. The scheduler either needs to look this up on the fly or we need to have computed the RA/Dec for every observation beforehand and save it to the object.
If we image an object that fails WCS pointing, the current algorithm still attempts to use pinpoint at every pointing cycle for that object, causing the object to take an additional 8-10 minutes past what is needed since we have to wait for WCS to time out.
We should check the status of pinpoint the first time it is called for that object; if it fails the first time, we should only do the basic pointing for that object and not attempt to WCS pinpoint.
astroplan
can be used to make a constraint plot that allows you to see when/where/how your observation can be observed. See example and source code
We need to develop an autofocus routine to be called during queue startup to ensure good focus for the following imaging.
See discussion and use of Laplacion (LoG) filters here. Also kernel discussion [here](https://en.wikipedia.org/wiki/Kernel_(image_processing). Initial hacky attempts using LoG filter shows promising results.
Initial function layout here. Implementation should be confined to that file.
evaluate()
should return the effective focus of the image using LoG filters, and then scipy
's Newton's Method can be called to automatically optimize the focus function.
We need a routine to automatically take flats during startup. It will be based off @mcnowinski's existing flatmatt script for SEO. As requirements are decided, please update this issue.
This should be implemented in this file and be based heavily off fatmatt
The website needs the ability to set different exposure times for the different filters; this requires changes to the database structure and to the web frontend.
Create modal-confirmation prompt when the "Delete User" button is pressed; otherwise, it's "all too easy".
As per title, the admin site needs to move the new styling (as per frontend_branch)
We need a Luigi task that takes the final folder of output files, puts them in a zipped tarball, and then emails then using sendmail
to the user who requested the files.
When adding more than one observation, an error message "An Observation with that name already exists" appears.
Create a functioning home page where users can sign into their accounts or create new ones.
A request to copy public programs into your own account; this should be an action listed on public programs.
Current execution strategies only support imaging stars, galaxies and other DSO's. We need an execution strategy that is optimized for asteroids. @mcnowinski is leading this effort.
To support asteroid imaging, we need an asteroid scheduler and executor to be implemented here
@mcnowinski can provide more details and requirements (please update the issue once they have been decided)
Since Atlas can run on a different server than the telescope controller, we need a transparent file operation layer that we can use that abstracts away dealing with copying and deleting files. Something like
file = telescope.open('filename.fits') # returns atlas.File object
file.read()
file.write()
In the backend, this should copy the file to a /tmp/
, and store a mapping in the class header so that subsequent calls to telescope.open('filename.fits')
returns the local /tmp/
copy and doesn't transfer the file again.
Reports that object visibility curve is incorrect; need to verify and compare routines/plots.py
with original reference script.
We need a Luigi task to perform flat correction using the flat found by #13
Add login page to Flask and ensure that user login, registration and password reset is working.
Programs need to be made public so other people can edit and work with them; this will be good for class use as well as collaborative programs.
We need a Luigi task to perform dark subtraction using the master dark created in #13
Once the executor is finished calibrating, it needs to query the Google Calendar API to check whether anyone has the telescope scheduled. If the telescope is completely available, the telescope should automatically complete observations.
Needed features:
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.