Conversation
With testing in mind. modified: obstools/dfocus.py modified: obstools/utils.py
new file: MANIFEST.in new file: obstools/tests/files/deveny/20250203.0021.fits new file: obstools/tests/files/deveny/20250203.0022.fits new file: obstools/tests/files/deveny/20250203.0023.fits new file: obstools/tests/files/deveny/20250203.0024.fits new file: obstools/tests/files/deveny/20250203.0025.fits new file: obstools/tests/files/deveny/20250203.0026.fits new file: obstools/tests/files/deveny/20250203.0027.fits new file: obstools/tests/files/deveny/20250203.0028.fits new file: obstools/tests/files/deveny/20250203.0029.fits new file: obstools/tests/files/deveny/focus/deveny_focus.20250203.081131
modified: obstools/dfocus.py new file: obstools/tests/files/deveny/focus/deveny_focus.20250202.allsame modified: obstools/tests/test_dfocus.py modified: obstools/tests/test_utils.py new file: obstools/tests/tstutlis.py modified: setup.py
Now that numpy v2.2 is out, finally stop using a class that was replaced *way* back in v1.4. *shrug* modified: doc/api/obstools.tests.rst modified: obstools/dfocus.py modified: obstools/tests/test_dfocus.py modified: obstools/utils.py
Use ``DataClass`` for passing around focus information in ``dfocus.py`` rather than dictionaries or other means. modified: obstools/dfocus.py modified: obstools/tests/test_celestial_time.py modified: obstools/tests/test_deveny_grangle.py modified: obstools/tests/test_dfocus.py modified: obstools/tests/test_lmi_etc.py modified: obstools/tests/test_utils.py modified: obstools/tests/tstutlis.py modified: obstools/utils.py
modified: obstools/dfocus.py modified: obstools/tests/test_dfocus.py
And associated changes to the test file. modified: obstools/dfocus.py modified: obstools/tests/test_dfocus.py
modified: MANIFEST.in modified: doc/include/dependencies_table.rst
modified: doc/help/deveny_collfocus.rst modified: doc/help/deveny_grangle.rst modified: doc/help/dfocus.rst modified: doc/help/fix_ldt_header.rst modified: doc/help/lmi_etc.rst modified: doc/help/neocp_ephem.rst modified: doc/help/scrub_deveny_pickup.rst modified: doc/include/dependencies_table.rst modified: setup.cfg
Remove deprecated class property structure in the scripts; now should be good to go with Python 3.13. Note: Python 3.13 was not supported in NumPy until >=2.1.0, so this update to obstools should be coincident with the `dofucs_work` branch and its update to Numpy 2. modified: doc/scripts/write_script_help.py modified: environment.yml modified: obstools/__init__.py modified: obstools/utils.py modified: setup.cfg
Also, try to clean the code a bit by using @DataClass objects for schlepping information around. modified: obstools/lmi_etc.py modified: setup.cfg
modified: obstools/deveny_collfocus.py modified: obstools/deveny_grangle.py modified: obstools/dfocus.py modified: obstools/fix_ldt_header.py modified: obstools/lmi_etc.py modified: obstools/neocp_ephem.py modified: obstools/scrub_deveny_pickup.py
new file: doc/papers/ETCMethod.pdf modified: obstools/lmi_etc.py
new file: doc/api/obstools.tests.tstutlis.rst modified: doc/help/deveny_collfocus.rst modified: doc/help/deveny_grangle.rst modified: doc/help/dfocus.rst modified: doc/help/fix_ldt_header.rst modified: doc/help/lmi_etc.rst modified: doc/help/neocp_ephem.rst modified: doc/help/scrub_deveny_pickup.rst modified: doc/include/dependencies_table.rst
Using Qt Designer with PyQt6 to create a python GUI version of Phil Massey's LMI exposure time calculator. Still pretty rough, but it has the main parts and an Exit button. :-) new file: obstools/ETCWindow.py new file: obstools/ETCWindow.ui modified: obstools/lmi_etc.py
modified: obstools/ETCWindow.py modified: obstools/ETCWindow.ui
The next step will be to plumb all of the GUI elements together in order to make things work. modified: obstools/ETCWindow.py modified: obstools/ETCWindow.ui
Basic computation and display of results works. Next, need to compute the auxillary data and think about how to build and save a table of computed exposure times. modified: obstools/ETCWindow.py modified: obstools/ETCWindow.ui modified: obstools/lmi_etc.py
The LMI ETC GUI's caclulations match those from Phil Massy's ETC webpage. It is possible to add the results from a calculation into an AstroPy table for saving (and comparing different setups and requirements). Next steps will be to show the table in a window and offer to save it in one or more formats to disk. modified: obstools/ETCWindow.py modified: obstools/ETCWindow.ui modified: obstools/lmi_etc.py
new file: obstools/ETCDataWindow.py new file: obstools/ETCDataWindow.ui renamed: obstools/ETCWindow.py -> obstools/ETCMainWindow.py renamed: obstools/ETCWindow.ui -> obstools/ETCMainWindow.ui modified: obstools/lmi_etc.py
deleted: obstools/ETCDataWindow.py deleted: obstools/ETCDataWindow.ui new file: obstools/UI/ETCDataWindow.py new file: obstools/UI/ETCDataWindow.ui renamed: obstools/ETCMainWindow.py -> obstools/UI/ETCMainWindow.py renamed: obstools/ETCMainWindow.ui -> obstools/UI/ETCMainWindow.ui modified: obstools/lmi_etc.py
It's a lot easier to generate layouts graphically using Qt6's Designer application. This generates XML-formatted .ui files, which must be either directly parsed in the enclosing python code or converted to python code directly and imported. The latter is faster at runtime and the result can be stored in git. The Makefile added here runs through all *.ui files and converts them into python code using pyuic6. It also removed extraneous python files created by Qt's Designer application and runs everything through ``black`` to produce consistently formatted files. new file: Makefile modified: obstools/UI/ETCDataWindow.py modified: obstools/UI/ETCDataWindow.ui modified: obstools/UI/ETCMainWindow.py modified: obstools/lmi_etc.py
(although it should...) modified: obstools/UI/ETCDataWindow.py modified: obstools/UI/ETCDataWindow.ui modified: obstools/lmi_etc.py modified: obstools/neocp_ephem.py
Still a couple pieces to implement: 1. Saving the data table 2. Formatting the data table And various bug catching and cleaning up of the UI. modified: obstools/UI/ETCDataWindow.py modified: obstools/UI/ETCDataWindow.ui modified: obstools/lmi_etc.py
modified: obstools/lmi_etc.py
modified: obstools/UI/ETCMainWindow.py modified: obstools/UI/ETCMainWindow.ui new file: obstools/UI/lowelllogo_horizontal_web.png modified: obstools/lmi_etc.py
modified: obstools/UI/ETCMainWindow.py modified: obstools/UI/ETCMainWindow.ui modified: obstools/lmi_etc.py
modified: obstools/lmi_etc.py modified: obstools/tests/test_lmi_etc.py
modified: obstools/dfocus.py modified: obstools/tests/test_dfocus.py
modified: obstools/dfocus.py
Reorganize and clean up the `dfocus` tool
Pull updates from `main` into `develop`
modified: .github/workflows/update-changelog.yml
Attempt to get the ChangeLog action to work
This fixes a CI error for Windows where the ECSV filter list file was not being properly read in as unicode (utf-8). This only matters because two of the filters are related to the Hα line at 6563Å, and I stubbornly included the unicode character. I will note that the macOS and ubuntu GitHub runners had no problem correctly using unicode. modified: obstools/data/etc_filter_info.ecsv modified: obstools/lmi_etc.py
Split CI tests (using -dev versions) from the other OS tests (using standard versions of libraries). This also allows for the ubuntu runner to add the `freeglut3-dev` package for Qt6 happiness. Some reworking of the `ci_tests.yml` file was done, as well, to clean up the order of things. modified: .github/workflows/ci_tests.yml
The latest AstroPy does not support Python 3.10, so remove it from the allowed version list and tests. Even though, python 3.10 will be supported via security releases through October 2026, many of the features in that version have been deprecated or removed from various libraries. modified: .github/workflows/ci_tests.yml modified: environment.yml modified: setup.cfg modified: tox.ini
modified: doc/include/dependencies_table.rst
Add usage information with screenshots of the GUI. Add an RST version (with corrected links) of Phil's LaTeX document describing the process behind the ETC. modified: README.rst modified: doc/Makefile new file: doc/_static/css/custom.css modified: doc/api/obstools.broker_listener.rst modified: doc/api/obstools.celestial_time.rst modified: doc/api/obstools.deveny_collfocus.rst modified: doc/api/obstools.deveny_grangle.rst modified: doc/api/obstools.dfocus.rst modified: doc/api/obstools.fix_ldt_header.rst modified: doc/api/obstools.lmi_etc.rst modified: doc/api/obstools.neocp_ephem.rst modified: doc/api/obstools.rst modified: doc/api/obstools.scrub_deveny_pickup.rst modified: doc/api/obstools.tests.rst modified: doc/api/obstools.tests.test_celestial_time.rst modified: doc/api/obstools.tests.test_deveny_grangle.rst modified: doc/api/obstools.tests.test_dfocus.rst modified: doc/api/obstools.tests.test_lmi_etc.rst modified: doc/api/obstools.tests.test_utils.rst modified: doc/api/obstools.tests.tstutlis.rst modified: doc/api/obstools.utils.rst modified: doc/conf.py new file: doc/deveny_etc.rst new file: doc/figures/lmi_etc_blank.png new file: doc/figures/lmi_etc_compute.png new file: doc/figures/lmi_etc_table.png modified: doc/index.rst modified: doc/lmi_etc.rst new file: doc/rimas_etc.rst new file: doc/rimas_image_ql.rst new file: doc/rimas_spec_ql.rst modified: obstools/UI/ETCMainWindow.py modified: obstools/UI/ETCMainWindow.ui
modified: Makefile modified: doc/_static/css/custom.css modified: doc/scripts/write_script_help.py new file: obstools/Makefile modified: obstools/UI/ETCDataWindow.py
modified: doc/help/deveny_collfocus.rst modified: doc/help/deveny_grangle.rst modified: doc/help/dfocus.rst modified: doc/help/fix_ldt_header.rst modified: doc/help/lmi_etc.rst modified: doc/help/neocp_ephem.rst modified: doc/help/scrub_deveny_pickup.rst
LMI Exposure Time Calculator GUI
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Major changes include:
dfocusunder-the-hood updates