Clear all

2023-09-16: APP 2.0.0-beta23 has been released !

Improved performance again, CMD-A now works in macOS File Chooser, big improvement for bad column cosmetic correction, solved several bugs

We are very close now to  releasing APP 2.0.0 stable with a complete printable manual...

Astro Pixel Processor Windows 64-bit

Astro Pixel Processor macOS Intel 64-bit

Astro Pixel Processor macOS Apple M Silicon 64-bit

Astro Pixel Processor Linux DEB 64-bit

Astro Pixel Processor Linux RPM 64-bit

[Sticky] How can I save the originally loaded data, or the stretched data, as shown in the image viewer ?

1 Posts
1 Users
Universe Admin
Joined: 6 years ago
Posts: 3815
Topic starter  

In APP, the preview filter on the right, by default, automatically stretches the data for viewing in the image viewer.

This is just a stretched preview, the original data is not altered  (as it shouldn't).

It's easy to forget, due to this function, that you are actually loading other (usually linear) data and that APP shows stretched previews of that other data by default. Since we work with linear data from our camera's, this function helps quickly in evaluating the data that we have.


Understanding the working of the preview filter is essential to understanding how APP works.


On the right hand side of the screen we have an

  • histogram and a
  • stretch selectbox next to a
  • save button.

The save button combined with the stretch/no-stretch choice will accomplish what we want to do:


Save with the stretch selectbox enabled saves the data as shown in the image viewer with all stretch parameters applied.

Save with the stretch selectbox disabled, and APP will save the loaded data unaltered by the preview filter. This is direct evidence that the preview filter itself doens't alter the original data.


An example, I load a Nikon NEF frame of the Cocoon Nebula:

linear DDP on autostretch preview

by default APP applies the auto DDP stretch filter, so this is not the linear original data, the linear data can be seen if we disable DDP and set the (B)lack slider to 0 :

Linear DDP off Black 0


So If you

  • SET the B(LACK) slider to zero = 0
  • SET the W(hite) slider the maximum (depends on bit depth)
  • SET G(amma) to 1 (so no gamma/log conversion)





Now to demonstrate and 100% proof that saving of either

  • stretched or
  • unstretched


data works with the save button and that the preview filter doesn't alter the original data, I now re-enable the DDP function, and APP again shows the auto-stretch since auto DDP is on as well:

linear DDP on autostretch preview


1) unstretched save on this image, disable stretch selectbox and click on save, I save a JPG with ICC profile on 75% quality, I expect to see the same image as the in the screenshot that has DDP off and B(lack) = 0

This is the JPG output, next to the screenshot of the linear data in the image viewer:

DSC 0019 NoSt
Linear DDP off Black 0

exactly like in the image viewer with DDP off and B(lack) on zero. The original unstretched data in the NEF is saved in the JPG.


2) stretched save on this image, I expect to get a JPG that shows exactly what I see in the image viewer, this is the JPG output with correct color mangement using ICC profile included:

DSC 0019 St
linear DDP on autostretch preview

I think it's identical, so the JPG contains the stretched data created from having the the stretch parameters in APP applied on the original unaltered data in the NEF file.


Final and important note: if you save data using the save button with stretch enabled, and if you then load that stretched image data into the image viewer. You can only see the original (now stretched) data again by disabling DDP and setting B(lack) to 0, otherwise APP tries to do a stretch again on the original (now stretched) data. Sometimes this is bad and ugly, sometimes a second stretch can even improve things. It's very dependent on the actual data how this turns out.


Let me know if this is clear or needs more explanation.

Kind regards,