AstroJ - New Astronomy Journaling App - Community opinions needed Anything goes · Ron Or-El · ... · 5 · 404 · 4

ronorel 0.90
...
· 
·  2 likes
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:

  • 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.

AstroJ Import.png

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.

AstroJ TargetInfo.png
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.
  1. With a right-click on a target name, you have an option to see only the sessions for that target.
  2. The Edit Entry button will display the edit dialog but is not doing anything yet.
  3. Save/Load journal work.

AstroJ Journal.png

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:AstroJ FitsEditor.png

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
Like
fenriques 1.81
...
· 
·  1 like
hi,
nice work. I did something similar some years ago when GPT was not yet around:
https://www.youtube.com/watch?v=leJt-5oTfVs
https://github.com/fenriques/AstroDom

ferrante
Like
jhayes_tucson 22.40
...
· 
That's actually an interesting idea.  My remote systems operate automatically and I know how many subs I've taken for each channel for each object so I'm not sure that this tells me anything new.  However, I can see it being useful for some folks.

The tool that I want is one that automatically evaluates each image as it is taken and gives it a score that goes into the FITS header showing FWHM, SNR, and a quality value--just like you can do with SubFrameSelector.  I'd like to run this in real time on the acquisition PC so that when my images are downloaded to my NAS system, they are all pre-graded.  That kind of tool would be a huge time saver!  If someone knows how to do that using PI, let me know.

John
Like
EdFromNH 0.90
...
· 
This sounds like a great idea.  I'm new to the hobby and haven't settled on a good way to track my work yet.  Spreadsheet and a good directory structure (to me) is what I currently have.  Unfortunately for me, I don't use NINA (ASIAir user).  Great project idea, though.
Like
ronorel 0.90
...
· 
John Hayes:
That's actually an interesting idea.  My remote systems operate automatically and I know how many subs I've taken for each channel for each object so I'm not sure that this tells me anything new.  However, I can see it being useful for some folks.

The tool that I want is one that automatically evaluates each image as it is taken and gives it a score that goes into the FITS header showing FWHM, SNR, and a quality value--just like you can do with SubFrameSelector.  I'd like to run this in real time on the acquisition PC so that when my images are downloaded to my NAS system, they are all pre-graded.  That kind of tool would be a huge time saver!  If someone knows how to do that using PI, let me know.

John

If your app writes fwhm and snr per frame it should be relatively straight forward to write such a script. 
But if the script needs to make the measurement as well, it gets complicated. Still possible though. 

This sounds like a great idea.  I'm new to the hobby and haven't settled on a good way to track my work yet.  Spreadsheet and a good directory structure (to me) is what I currently have.  Unfortunately for me, I don't use NINA (ASIAir user).  Great project idea, though.

Modding to work with other apps should be relatively easy. I just don't have access to data taken with asiair. 
You're more than welcome to send me some light frames and I'll see what I can do.
Like
fenriques 1.81
...
· 
John Hayes:
The tool that I want is one that automatically evaluates each image as it is taken and gives it a score that goes into the FITS header showing FWHM, SNR, and a quality value--just like you can do with SubFrameSelector.  I'd like to run this in real time on the acquisition PC so that when my images are downloaded to my NAS system, they are all pre-graded.  That kind of tool would be a huge time saver!  If someone knows how to do that using PI, let me know.

 I have the same need, the internet connection to my remote observatory is limited and new cameras file size is huge. 

PI has a scriptable  Filewatcher object that monitors a folder for new files and triggers processes like SFS. Once you have the FWHM, SNR and Eccentricity data from SFS the script could delete the bad ones and move to a sync folder the good ones.

That was the plan, still have to  manage how Filewatcher works. Maybe someone here has already done such a script .
Like
 
Register or login to create to post a reply.