DaveStrickland / AstroPhotography

Python workflow for processing astrophotography images from either digital cameras and/or amateur telescopes.
GNU General Public License v3.0
22 stars 4 forks source link

External non-python software dependencies should be removed #3

Open DaveStrickland opened 3 years ago

DaveStrickland commented 3 years ago

Currently I'm using external, non-python, tools for image resampling/co-addition and color composite generation, and also adaptive smoothing.

These are used currently in my driver bash scripts (see Issue #2), not called directly from python. I also can't do exposure maps properly or very easily with swarp without requiring more tools to do FITS image math (e.g. Heasoft farith, fcarith).

These external dependencies make it harder for other potential users to install and use the software, and introduce potential points of software instability. A pure python solution would be more flexible and robust going forward, even if it sacrificed some of the power that these 3rd party non-python tools provide. It would also make it easier to write fully python end-to-end processing scripts that would not need to call subprocess.

DaveStrickland commented 10 months ago

Added motivation for moving away from non-pythonic dependencies.

Fedora 39 does not have RPMs for stiff, and the astromatic repo itself only supplies RPMs to Fedora 37. Attempting to clone and build stiff from github eventually fails (after installing dependencies and running autoreconf -f -i) at the build stage.

Error message is multiple definitions of large numbers of functions. Googling shows debian patched the stiff C sources (large number of added extern ...). I'm not sure I want to have to do the same.

DaveStrickland commented 9 months ago

After looking at the mageia source rpm for stiff I see that they add -fcommon to the CFLAGS. Which allowed me to build stiff from the astromatic github source code:

export GCC
autoreconf -vfi
autoupdate
./configure 'CFLAGS=-O2 -g -fcommon'
make
sudo make install