Hello,
I'm one of the developer of
Siril
software.
We recently wrote a short document explaining why we've had added a new FITS keyword and why we would like that every FITS data producers do the same.
The document: free-astro.org/index.php?title=Siril:FITS_orientation
5.1. Image display conventions
It is very helpful to adopt a convention for the display of images transferred via the FITS format. Many of the current image processing systems have converged upon such a convention. Therefore, we recommend that FITS writers order the pixels so that the first pixel in the FITS file (for each image plane) be the one that would be displayed in the lower-left corner (with the first axis increasing to the right and the second axis increasing upwards) by the imaging system of the FITS writer. This convention is clearly helpful in the absence of a description of the world coordinates. It does not preclude a program from looking at the axis descriptions and overriding this convention, or preclude the user from requesting a different display. This convention also does not excuse FITS writers from providing complete and correct descriptions of the image coordinates, allowing the user to determine the meaning of the image. The ordering of the image for display is simply a convention of convenience, whereas the coordinates of the pixels are part of the physics of the observation.
Do you think it would be possible to introduce this in the EKOS/INDI ecosystem?
I'm really glad to read these enthusiastic answers.
Jasem, of course there is no rush. It has been introduced in Siril this week and will only be available for the 1.0.0 release.
But I have to say I'm really happy you want to do that. It will be easier for everyone.
At the moment the fact is that despite the old FITS usage and the recommendation in the WCS document many file from camera are top-down.
This the case at least for the two I can test, indi_gphoto that return the FITS rows in the same order than libraw and for indi_atik from the Atik SDK. This is probably also the case when using other manufacturer SDK.
But it is not necessary to change the way the data are written to the file because this can affect the performance. So probably no alignment code need to be changed.
The idea with adding this new ROWORDER keyword is to clarify the way the processing software treat the image specifically with bayer matrix. All of this with minimal change in the capture software.
So if a driver know the camera return data in top down order it just add ROWORDER = 'TOP-DOWN' in the header, ROWORDER = 'BOTTOM-UP' in the other case.