Interesting case where SIRIL fails to register

I ran into a case where SIRIL fails to register frames that it can normally register in most cases. This is a bit of an artificial case as I tried to simplify the situation to help isolate the conditions under which it occurs, so here it is:

  1. This is from an Alt/Az scope so there is some field rotation so you’ll see these images have some black border.
  2. It’s four “substacks” from short exposure data of about 10 minutes of data in each.
  3. These four substacks were previously registered and then cropped, so they are all the same dimensions but are now 32-bit RGB Fits, non-stretched.
  4. If I try to stack them in SIRIL with 2-pass alignment and -framing=max, it will fail to register. But I can make it work if I don’t use -framing=max or if I crop one of the images to be of a different dimension than the rest. It seems to only happen if all the images are the same dimension.

I have a link to the four images, the script I use, and SIRIL’s output log (Siril 1.4.0beta3) here:

https://drive.google.com/drive/folders/1ioWVdptXyIE1nxHo4aTh2SN7aAmOY3ls?usp=drive_link

The script is the recent OSC_Processing_WithoutDBF but I’ve modified it to not try to debayer, to use 2-pass registration, and to use feathering.

Even though this case is odd, I think it may be exposing a potential SIRIL anomaly that may occur in other cases, so perhaps it’s still interesting for the SIRIL team to understand why this happens.

Here are the last few lines of the log:

11:22:33: Applying registration completed.
11:22:33: 3 images processed.
11:22:33: Total: 0 failed, 3 exported.
11:22:33: #stack calibrated lights
11:22:33: Running command: stack
11:22:33: Stacking sequence r_pp_light_
11:22:33: No registration data in the sequence. Maximize framing will be ignored
11:22:33: The sequence has different image sizes but no registration data, cannot stack. Aborting
11:22:33: Execution time: 2.22 ms
11:22:33: Setting CWD (Current Working Directory) to ‘D:\Astrocapture\Deepsky\M24 Broadband’
11:22:33: Script execution failed.

It’s interesting because the images are all the same size and did appear to register but it generated this error.

In the directory are the images in question including two versions of the first image, one slightly cropped and if that is used, the sequence will stack. The slightly cropped image is named appropriately so hopefully you can identify which is which and generate both the failure case and the success case just by using the correction image#1.

The images are RICE compressed to keep the size down for this purpose but that doesn’t impact the results.

Ok, thanks for the report and sharing the images, i’ll try to look into it in the coming days and report back

Cheers,

C.

Downloaded your images. Indeed, it’s strange that the seqapplyreg command does not create a sequence with registration data when framing is set to max. I’ll look into it.
As a temporary workaround, you can do this:

register light -2pass -nostarlist -transf=shift
stack light rej 3 3 -maximize -feather=120 -norm=addscale -output_norm -out=result

As you images are already registered, you just want to force some registration data into the sequence (well, shifts with null values but that’s still some registration data :slight_smile: ). So the first line computes shifts. And you can then use this sequence directly into stack

1 Like