This project aims to replicate the functions of DeepSkyStacker, speeding it up by offloading work to a CUDA-capable GPU whenever appropriate.
Below's the checklist of functions to be implemented, roughly in order of their application according to DSS.
- Alignment
- Star detection
- Offset & angle computation
- Applying transformation
- Stacking
- Background calibration
- Flat frame calibration
- Hot pixel detection & removal
- [Low Priority] Removal of bad columns
- [Low Priority] Entropy based dark frame subtraction
- Stacking [WIP]
- Creating master offset, dark, flat frames
- Methods:
- Average
- Median
.vscodeVSCode workspace settings.buildBuilt products & intermediates.srcSource files.cudaThe cuda code used in nvastro.main.cppThe nvastro application's entrypoint.test_cuda.cuThe test_cuda target's entrypoint. It's linked with codes in thecudafolder, allowing stuff there to be tested without going through the main app.
misc.ipynbRandom experiments.
Compiling this project requires the CUDA toolkit, g++ compiler, LibRaw & ImageMagick libraries.
In the root folder of this project, run:
make nvastro
Or if you want to make and run the test_cuda target:
make test_cuda