Support for Pentax pixel shift files #3489

(Ingo Weyrich) #161

No, there was a lot of other work to do for rt5.

(Vitalis) #162

played a bit with a new build. 3x3new seems to be easier to work with. If I understand correctly, Median now is kind of better Experimental which seems to be disabled.
Also, I send new files with snow: , they are the same scene with three various ISO’s. Algorithms behave very differently with these ISO’s, but it looks like this kind of scene is impossible to interpret without artifacts of discontinuity.

(Ingo Weyrich) #163

Hi Vitalis, thanks for the files :slight_smile: The ISO 102400 file revealed a bug in code for really high ISO. Never tried that before. I will try to fix it.

(Ingo Weyrich) #164

Hi Vitalis,

I pushed a fix for high ISO. Now it works as expected, means almost no motion detection for your 102400 file, because the current adaptive algorithm is not able to distinguish between motion and this amount of noise.

(Ingo Weyrich) #165

Short update: Latest development was on a private fork. I will push this evening to official pixelshift branch and also try to explain the changes a bit here when the push is done

(Vitalis) #166

That was fast! Much better!
I think that I grokked the parameters and now get almost clean results. I added parameter files in the same bin.

Btw., I have a problem (libpng bug? mine is 1.6). RT makes all pngs without exif for me. Jpegs and tiffs are OK.

(Ingo Weyrich) #167

Ok, I just pushed to pixelshift branch

@gaaned92 @sguyader Would be great to get a win64 build :slight_smile: win32 build is not needed.


(Ingo Weyrich) #168

Some explanations about the news in pixelshift:

Here’s the current gui:

There’s a new method 3x3 new. While the other methods 1x1, 1x2, 3x3 and so on marked a pixel as motion when one of the pixels in the surrounding grid was dectected as motion, the new method does the following:

For each pixel it looks for motion in greens and marks them as value 1.0. If no motion in green is found (and red/blue check is enabled) it marks red/blue motion with the value of Red&Blue weight, 0.7 in example screen shot.

Then, if 3x3 new: Blur is enabled the values run through a gaussian blur with Blur simga.

This can be used to eliminate false positives.

In next step the sum of the values of a 3x3 grid for each pixel is compared against 3x3 new threshold (3.0 in example screen shot). If the sum is >= this threshold, the pixel is treated as motion.

When 3x3 new: Fill holes is enabled the result additionally runs through a hole fill algorithm.

Then, all pixels marked as motion are taken from:

  1. the selected amaze demosaiced frame in case median is disabled.
  2. the median of all 4 amaze demosaiced frames in case ‘median’ is enabled and Exclude selected frame from median is disabled
  3. the median of 3 amaze demosaiced frames in case ‘median’ is enabled and Exclude selected frame from median is enabled

Because images show more than words, here a first example for the hole fill (Left in screenshot is always pixelshift without motion detection):

The part at right shows what you get with simple green and Red/Blue cross detection.

There are still some artifacts. Let’s have a look at the motion mask:

As you can see, motion detection failed to detect motion at the back of the persons.
Let’s activate hole fill and have a look at the motion mask:

Now, the persons are completly marked as motion. Lets’s have a look without the motion mask:

Artifacts are gone :slight_smile:


Windows 64 Pixelshift 4.2.1269 build uploaded

Edit: Here’s the link to the build (the last in the list).

(Ingo Weyrich) #170

Thank you very much :slight_smile:

(Ingo Weyrich) #171

Additional note: I suggest to apply neutral profile and then enable pixelshift to get the new default values in case you already used the old pixelshift version.

(Ingo Weyrich) #172

Another short tutorial:

The first screen shot shows a detail of a pixelshift shot with flying birds. Have a look at the larger one. Left is the motion mask which shows where the birds are in the 4 frames, right is the motion corrected picture using the first frame for regions with motion (green mask at left)

If you want to show the bird from another frame, just select the other frame (Sub-Image), in this case number 3:

If you don’t want to see birds at all, select Median:

But keep in mind that median only works good on this kind of images :wink:


W64 pixelshift 4.2.1270 uploadedf (same link)

(Gimbal Lock) #174

Looks impressive. Thumbs up.

(Ingo Weyrich) #175

I just pushed some cleanups for pixelshift gui.
@gaaned92 : May I ask for new win64 pixelshift builds? :slight_smile:

(nosle) #176

Looking very clean now all those sliders hidden until you need them. Good stuff.

One thing that I would find useful is a quicker way to tell which files are pixelshifted. Currently you can check the meta tab under Makernote > Quality but a quicker way would be useful. The demosaic dialogue gives no feedback as far as I can tell.

I quite like the Geeqie implementation where you can customize the exif pane by right clicking and adding tags that interest you. I’ve customized it to show Quality where 7 indicates Pixelshift, see below.

I fully realize this is beyond pixelshift branch but it’s one case where customisable preview info is very useful. Having the file browser/ thumbnail preview settings work in a similar way as Geeqies exif pane would be great.

(Ingo Weyrich) #177

Yes, absolutely. We plan to show it in info area of editor and maybe also on the thumb. Same for pentax 3in1 hdr files.
But as I’m not the specialist for this part of rt I will have to wait for some help from @Hombre. I already talked with him about that.


W64 pixelshift 4.2.1273 builds uploaded (same link)

(Ingo Weyrich) #179

Great, thank you :slight_smile:

(Ingo Weyrich) #180

Sometimes there are harsh transitions between regions with and without motion.
I pushed a new option to pixelshift branch which allows to smooth this transitions a bit.
It is also enabled in Automatic mode.

Here’s an example: Left is without, right is with smoothed transitions.