Hello everyone,
tl;dr:
I'm working on a Python program to help me keep track of imaging sessions better.
The app works by extracting the HEADERs data from the FITS files metadata and storing it in a database file to do operations on later.
I would appreciate your comments about such an app.
Disclaimer:
I am not a programmer by any means. About 80% of the code was written by ChatGPT. I started it as a personal project but I thought that maybe other people would enjoy it. With my data, it works surprisingly well.
The details:
Phase 1: Importing the Data:

Phase 2: Displaying the Data:
The app displayed the data in two ways:
The Target Info tab will display the data based on the Target name.
For each target you select from the menu, it will (currently) display: the gear used to image the target, filters, total imaging time for the target, number of sessions, and imaging time per session.

The Journal Tab - For this, I chose to create a journal in which each entry = session_id that was assigned in phase 1.
This way I can display multiple targets that were taken in the same imaging night.
For each target, it will display similar data to the Target Info but specific to that session.
I added some nice features to this already.

Phase 3: Editing the Database and FITS files.
This was meant as a solution for the times the HEADER data is missing or wrong.
Since I'm using a manual filter wheel, it happened to me more than once that I had the wrong filter selected.
I needed a way to edit the database and/or the FITS files themselves.
With the FITS Editor, I can do just that:
Notes:
Looking forward to your thoughts on this.
Thanks
tl;dr:
I'm working on a Python program to help me keep track of imaging sessions better.
The app works by extracting the HEADERs data from the FITS files metadata and storing it in a database file to do operations on later.
I would appreciate your comments about such an app.
Disclaimer:
I am not a programmer by any means. About 80% of the code was written by ChatGPT. I started it as a personal project but I thought that maybe other people would enjoy it. With my data, it works surprisingly well.
The details:
Phase 1: Importing the Data:
- The app works by first scanning the FITS files (or a sample of them) for the OBJECT header which indicates the target names.
- For each unique target name, the app creates a target_id.
- We then proceed to populate the database. Each row in the data = one fits file and all it's HEADERs data. Depending on how big your library is, it may take a while. I have a library of almost 43,000 files and it takes about 15 minutes to write the database file.
- The next step is creating session_id per file so we can later create the journaling. The problem was how to group images that passed the dateline to the same imaging night.
So the logic I came up with is that if two frames were taken in less than 2 hours apart, they belong to the same session.

Phase 2: Displaying the Data:
The app displayed the data in two ways:
The Target Info tab will display the data based on the Target name.
For each target you select from the menu, it will (currently) display: the gear used to image the target, filters, total imaging time for the target, number of sessions, and imaging time per session.

The Journal Tab - For this, I chose to create a journal in which each entry = session_id that was assigned in phase 1.
This way I can display multiple targets that were taken in the same imaging night.
For each target, it will display similar data to the Target Info but specific to that session.
I added some nice features to this already.
- With a right-click on a target name, you have an option to see only the sessions for that target.
- The Edit Entry button will display the edit dialog but is not doing anything yet.
- Save/Load journal work.

Phase 3: Editing the Database and FITS files.
This was meant as a solution for the times the HEADER data is missing or wrong.
Since I'm using a manual filter wheel, it happened to me more than once that I had the wrong filter selected.
I needed a way to edit the database and/or the FITS files themselves.
With the FITS Editor, I can do just that:

Notes:
- Currently, the app works well with data taken with N.I.N.A. I tested with data from other apps and there are some tweaks needed to make it work properly.
- There's still a lot of work to do before it can go public. If it's something people are interested in, I'll invest the time to make it happen. Otherwise, it will just be my own personal project.
- I have a GitHub repo for it if anyone is interested in looking at it and trying to run it, send me a DM.
Looking forward to your thoughts on this.
Thanks
