OK, I’m back with more instances of where SIRIL doesn’t use many CPUs and goes very slowly when using “-fitseq” with a lot of files. I think I’m finally zeroing in on the use case specifics, but there does seem to be some variability in if it happens.
Below, I’ll copy the script I use, but first the description:
- 2516 OSC lights each 4992x3340 in resolution, raw FITS captured with NINA. Each a short 6 second exposure using a dual narrowband filter
- 100 bias frames
- 25 flats
- no darks
Computer: 8 Core Ryzen 9 5900HX with 64 Gigs RAM and a nearly empty 2 TB NVMe disk with 3.0G/second transfer speed.
- If I turn off FITS compression, it all goes quickly and stacks in 52 minutes
- If I turn on FITS RICE compression with quantization level 16.00 with 32-bit floating point, it takes 2 hours and 47 minutes. In this case it was about 3.2x the time, I’ve had instances with larger (26 megapixel) image files where it takes nearly 5x the time sometimes.
Here are the times for the major steps between the two:
No Compression With RICE Compression
Preprocess: 11 minutes versus 77 minutes
Register: 16 minutes versus 64 minutes
Normalization: 7 minutes versus 6 minutes
Stack: 22 minutes versus 20 minutes
In all cases many CPUS are pretty fully used except in two cases: Preprocess and Register with FITS RICE compression, in which case it appears that only 1-2 CPUs are fully used.
Here is a CPU graph and a shot of the status window when it’s going slow:

Here is a CPU graph when it’s going fast:

You can clearly see the parallel nature in the status window of many files in process at once when it’s going fast and how many completions per second. For wen it’s going slow it seems to be one at a time.
The Script:
requires 0.99.4
Convert Bias Frames to .fit files
cd biases
convert bias -out=…/process
cd …/process
Stack Bias Frames to bias_stacked.fit
stack bias rej 3 3 -nonorm
cd …
Convert Flat Frames to .fit files
cd flats
convert flat -out=…/process
cd …/process
Pre-process Flat Frames
preprocess flat -bias=bias_stacked
Stack Flat Frames to pp_flat_stacked.fit
stack pp_flat rej 3 3 -norm=mul
cd …
Convert Light Frames to .fit files
cd lights
convert light -out=…/process -fitseq
cd …/process
Pre-process Light Frames
preprocess light -bias=bias_stacked -flat=pp_flat_stacked -cfa -equalize_cfa -debayer
Align lights
register pp_light
Stack calibrated lights to result.fit
stack r_pp_light rej 3 3 -norm=addscale -output_norm -out=…/result
cd …
close