Shine Stacker, new focus stacking application

Hello Luca,

Most of my macro lenses are by Laowa. They are adapted for Nikon. Therefore, you do not have the F (apterture) information in the EXIF.
To convert my RAWs Nefs files from my cameras (D700 - D850 - Z6-iii) to TIFF 16 bit and Jpegs I work with RawTherapee 5.12.

In the coming days I will investigate with further stacks and I will post my findings :slight_smile:

1 Like

OK, the f value is not a problem, it gets propagated as is when copying EXIF data. The issue must be somewhere else. I will test you files both on macOS and Windows, and will se what we get.

Hello Luca!

In the coming days I am going to test vers. 1.9.2 with different NIkon cameras and lenses.

At present, though, I can confirm - reproduce 2 problems on a different setup:
Windows 10, Intel Cpu I5-8500 - 16 gb RAM

Whenever you select only a few files of the stack the process fail at the very end. Tested both a Jpeg stack and a Tiff one. This occurs also on Windows 11 with a different CPU.

In addition, when you process a Tiff stack (whole folder selection to make it work…) you can save (ctr+shift+s) the final image as Tiff or png BUT the jpeg image is “corrupted” in that the jpeg image is very small as size (byte) and, when you open it, it is completely white (even its thumbnail is showed as white in the Explorer). Very strange indeed :slight_smile:

On the plus side, with this pc, there are no artefacts while using the brush (retouch options) over the borders.

When you will send me your set of files, please, also give me the list of files you select, so I can reproduce exactly what you do.

Could you also please send me the full path you use in your PC? It may also be a problem with path treatment as a string on Windows (special characters, path too long, or something else I can’t imagine).

Yes, I also checked that artifacts outside the image border don’t show up on Windows 10, but they appear on Windows 11.

Hello Luca,

Just tested v. 1.9.2 on Windows 10, Intel Cpu I5-8500 - 16 gb RAM
Nikon d700 with macro nikkor 60mm

This time I did not convert the RAWs files to TIFF or jpeg (with RawTherapee 5.12) but I used the jpeg created from the Nikon D700. This in order to simplify the process.

With a stack of 10 jpeg D700 images the process always fail when I try to retouch the image
It is the same (??? ) error which occurs when you select only a few images.

Here is the video:

EDIT:
This is the full path (no spaces or special characters) for these D700 jpeg images:
D:\STACKING\PROVE_EXIF_SHINESTACKER\D700_NIKON-60mm\D700_JPEG_DA-NIKON-NO-RAWTHERAPEE

1 Like

Wow! I never encoutered “EXIF data is too long”, this is an internal exception within the PIL module.

I need to have some of your files and test on them in order to protect for this case.

In the meanwhilte you can disabiling the copy of EXIF data: double-click on the last module and set the “Exif data path:” to an empty string.

Hello Luca!

With this dropbox link you have plenty of files, that is Nikon D700 - D850, with a whopping 1 gb of data to do your tests:

TEST_FILES

Take your time :slight_smile:

1 Like

I understood the problem. Nikon D700 JPEG have a huge EXIF tag called MakerNote that exceeds the limit of PIL python library of 65533 bytes. I can read those EXIF data, but not write it to any output file.

I tried to drop this tag, but for doeesn’t work, so the fallback solution for the moment will be to skip EXIF data in those problematic cases, and I have fixed how to handle those errors, so in next bug-fix release there will be no corrupted output file. But will investigate more possible solutions.

Concering the other problem you see, where the program fails to process a subset of the files in a folder, I can’t reproduce the problem. Maybe it is very specific to Windows, I will try to check on a Windows machine when I have time.

Hello Luca!

Have you reproduced the bug (corrupted white images) which occurs when you save as jpeg, a stack, coming from TIFFs files?
Png and Tiff are saved just fine (but some of their Exif info are missing).

I can easily reproduce this bug both on Windows 10 and 11.
Tried with Tiffs from D700 - D850 - Z6-iii (with RawTherapee 5.12)
Tested both Shine Stacker version 1.9.1 and also 1.9.2

Yes, I can reproduce it. I am working on it…

OK, the TIFF → JPEG conversion is fixed (it was a stupid bug).

I also fixed too long EXIF data for the moment by a brute-force truncation. This works for your images because the problematic tag is the last one, but it may fail for other images. Again, in those cases the failure would not leave a corrupted file, but only missing EXIF data.

The only problem I can’t reproduce is the failure when opening a subset of the files, not the entire folder. To do this I need a Windows machine, will try next days.

1 Like

Hi,

I hope I have fixed most of EXIF problems, including a legacy format compatibility and some GUI glitches in release 1.9.3.

Still, the graphical ghost traces on Windows have to be fixed, I didn’t have time to look.

Let me know if you find more problems!

1 Like

Hello Luca,

As usual, thanks a lot indeed for your efforts on improving Shine Stacker :slight_smile:

As regards my testing for the EXIF stuff:
D700 - TIFF 16 bit (from RawTherapee):

  • export (ctr+shift+s) stack to jpeg: works fine
  • export stack to tiff: no “important” (S, A etc) exif is saved
  • png: no exif is saved

E.g. EXIF for PNG from tiff files:
ExifTool Version Number : 13.39
File Name : EXIF_D700-PNG.png
Directory : E:/STACKING/D700-D850-NIKON/NIKON_D700-nikkor-60mm
File Size : 57 MB
File Modification Date/Time : 2025:11:02 20:47:24+01:00
File Access Date/Time : 2025:11:02 20:47:41+01:00
File Creation Date/Time : 2025:11:02 20:47:23+01:00
File Permissions : -rw-rw-rw-
File Type : PNG
File Type Extension : png
MIME Type : image/png
Image Width : 4276
Image Height : 2836
Bit Depth : 16
Color Type : RGB
Compression : Deflate/Inflate
Filter : Adaptive
Interlace : Noninterlaced
Image Size : 4276x2836
Megapixels : 12.1

D850 - TIFF files 16 bit from RawTherapee:

  • export stack to jpeg: works fine with Exif!
  • export stack to tiff: the whole data are saved (Aperture, shutter speed etc!) :slight_smile:
  • export to png: no important exif data (A, Shutter etc) is saved

Hello Luca,

Just out of curiosity…
Why do you allow the saving of the stack to PNG?

As an user, you can always export, later on, e.g. with GIMP, to png from the jpeg and tiff created by Shine Stacker.
In addition, this removal will allow you to save some extra coding (e.g. for Exif png stuff…)

I have checked Zerene and Helicon and they do not have this option either (png saving).

EDIT:
Just verified with GIMP 3.0.6 (Windows 11):

  • I have opened the TIFF stack, created by Shine Stacker, of my D850 TIFF files (where all EXIF are correctly saved);
  • I have exported this Shine stacker TIFF 16 bit, with GIMP, to PNG;
  • All Exif data are preserved.

E.g. EXIF data in the new png image from GIMP
Exposure Time : 1/30
F Number : 0
Offset Time : +01:00
Color Space : sRGB
ISO : 200
Date/Time Original : 2025:10:31 15:01:28

I tried your files D700_NIKKOR-60mm, I see all meaningful EXIF metadata, though with a different ordering.

I have your D850-Laowa-100mm only in RAW NEF format. I exported them in TIFF with LightRoom. If I export them, I see EXIF metadata.

And yes, EXIF metadata work at the moment only between PNG and JPEG. The conversion of metadata from TIFF to PNG is missing at the moment.

Could you give me more details about what is missing in your esport?

Luca

One more bit of information: TIFF to PNG EXIF are mostly preserved with Canon files, I observe problems only on Nikon. Will give a closer look.

1 Like

Hi, I got the issue:
EXIF metadata are not supported fro 16-bit PNG, it is an implementation limit of the python libraries I use.
Maybe I can issue a warning before saving.

Hello Luca!

Thanks for your updates!

Currently, the software works fine!
Lately, I have also tested the option to import a frame and use it to clone some part of the stack. Congratulations! :slight_smile:

Once in a while, though, there are still some stacks which are not working: usually due to some EXIF stack glitch.
This is particularly annoying when the stack is big (e.g. 180 Tiff images) because you only know at the very end that the process is about to fail…

Here is a Zip (NIKON Z6-III - Laowa macro lens) with 3 Tiff images (the real stack consists of 180 images) which are useful to reproduce the problem.
The same stack with jpeg images work fine!

Error on the software:
[INF] Z6-IIII_LAOWA_TIFF_SHINESTACKER-focus-stack-pyramid: fusing pyramids, layer: 1
[INF] Z6-IIII_LAOWA_TIFF_SHINESTACKER-focus-stack-pyramid: pyramids fusion completed
[INF] Z6-IIII_LAOWA_TIFF_SHINESTACKER-focus-stack-pyramid: collapsing pyramid
[INF] Z6-IIII_LAOWA_TIFF_SHINESTACKER-focus-stack-pyramid: copy exif data
[WAR] Z6-IIII_LAOWA_TIFF_SHINESTACKER-focus-stack-pyramid: failed to copy EXIF data: ‘I’ format requires 0 <= number <= 4294967295
[INF] Z6-IIII_LAOWA_TIFF_SHINESTACKER-focus-stack-pyramid: elapsed time: 00:00:05.77s
[INF] Z6-IIII_LAOWA_TIFF_SHINESTACKER-focus-stack-pyramid: completed
[INF] Z6-IIII_LAOWA_TIFF_SHINESTACKER-stack-job: elapsed time: 00:00:07.41s
[INF] Z6-IIII_LAOWA_TIFF_SHINESTACKER-stack-job: completed
Job ended successfully

TEST_IMAGES_TIFF

OK, I never found this. I will try to add some protection.
Moreover: I added clear warning messages when saving 16-bit TIFF to PNG, offering the option to convert to 8-bit and preserve EXIF.