Author Topic: Combining stacks with different SNRs  (Read 5140 times)

Offline MortenBalling

  • Member
  • *
  • Posts: 74
Combining stacks with different SNRs
« on: 2013 May 25 09:32:39 »
Hi all,

I'm currently working on a project, with data gathered by different people/telescopes/cameras.

I have three different luminance stacks. First i did a Linear fit. Next I measured Median and StdDev on a small preview of the background. Two of the stacks have a SNR=400, and the third has a SNR=1300.

I then tried to combine the stacks using PixelMath using the formula:

(StackA*4+StackB*4+StackC*13)/21

However, when I measure SNR of the resulting image, I get a value of 1100, which is lower than Stack3.

What am I doing wrong? Is my method wrong?

Thanks in advance

Regards

Morten

Offline MortenBalling

  • Member
  • *
  • Posts: 74
Re: Combining stacks with different SNRs
« Reply #1 on: 2013 May 25 11:19:19 »
I'm not that strong on statistics, but I realized the square root sign involved calculating the better SNR when stacking, might hold some of the answer.

I therefore tried to square the factors in the equation above, giving:

(StackA*16+StackB*16+StackC*169)/(16+16+169)

That gave me an SNR of the resulting image, which was slightly higher than "1300". Before the SNR of Stack3 was actually 1307 and the new resulting image (using the squared formula) had a SNR=1324.

I could try to iterate my method, but if somebody, with better math skills than me, could enlighten me on what's going on, I'd appreciate it very much. It would probably save me a lot of time, and next up I have six different Ha stacks ;)

Offline pfile

  • PTeam Member
  • PixInsight Jedi Grand Master
  • ********
  • Posts: 4729
Re: Combining stacks with different SNRs
« Reply #2 on: 2013 May 25 13:20:58 »
well i'm with you on statistics, i'm not that strong on it either.

but - PI's II module uses SNR as a weighting factor by default. so you can actually just throw all the subs into II and stack them together, as long as they're all registered beforehand of course. it might be worth a try.

rob

Offline MortenBalling

  • Member
  • *
  • Posts: 74
Re: Combining stacks with different SNRs
« Reply #3 on: 2013 May 25 13:37:10 »
Hi Rob

Thanks.

I allready tried that, but didn't think the result was good enough. Maybe I should give it another try. Come to think of it, I didn't use linear fit before II, which might explain why it didn't work very well.

Morten :)

Edit: Another reason for using PixelMath, was that I only had two OIII stacks, but I recently learned the trick of using each stack twice.

Offline georg.viehoever

  • PTeam Member
  • PixInsight Jedi Master
  • ******
  • Posts: 2132
Re: Combining stacks with different SNRs
« Reply #4 on: 2013 May 26 02:37:09 »
For best combination, Images are weighted by by SNR**2. So in your case, Signal is multiplied by 400*2+400*2+1300*2=2010000. Noise only grows with the square root, so Noise would be sqrt(2010000)=1417. So the expected SNR for the combination would be 1417 (I hope I got the math right)

Not so much higher than 1300...
Georg (6 inch Newton, unmodified Canon EOS40D+80D, unguided EQ5 mount)

Offline MortenBalling

  • Member
  • *
  • Posts: 74
Re: Combining stacks with different SNRs
« Reply #5 on: 2013 May 26 04:06:28 »
Thanks  :)

I tried the squaring method on our Ha data, and it seems to work flawlessly. I used...

Stack#*((Mean value/StdDev value)^2)

...for each stack, using a small preview together with PI Statistics to measure the values above:



and ended up with the following (very long) expression:

emberson_alle_filer_DBE_registered*((148486/1430)^2)+MR_Ha_12x1800_DBE_registered*((148433/816)^2)+MR_Ha_8x1800s_DBE_registered*((148387/888)^2)+MS_Ha_47x600s_registered*((148433/886)^2)+Paul_Ha*((148444/952)^2)+TOC_Ha_registered*((148463/769)^2)

Then I used LinearFit on the resulting image, and the result was the best so far:



Using a rough estimate, I have 6 images with an average StdDev of about 1000. That should give a StdDev of the Master stack of 1000/sqrt(6)=408.

Please correct me, if I've done something wrong.

Next up is OIII, SII and RGB.

Btw. The project is the planetary nebula JnEr1. I know it's already been done, but I tried to convince people from the danish Astronomical Society, that we should try to work together on a project, instead of shooting the usual Messier objects. We are 6 people, using 5 very different telescopes/cameras, and we have gathered more than 125 hours of data. I highly recommend trying that. Especially nowadays, where the internet makes communication and sending data much easier.

Regards

Morten

Offline Ignacio

  • PixInsight Old Hand
  • ****
  • Posts: 375
    • PampaSkies
Re: Combining stacks with different SNRs
« Reply #6 on: 2013 May 26 09:07:08 »
I would use the built-in SNR estimation weighting method in ImageIntegration (Noise Evaluation), that also takes care of scaling and offset normalization. Otherwise SNR comparisons can be way off.

Ignacio
 

Offline MortenBalling

  • Member
  • *
  • Posts: 74
Re: Combining stacks with different SNRs
« Reply #7 on: 2013 May 26 23:14:43 »
Hi Ignacio

You are absolutely right. That was also my first weapon of choice. I just could not get any good results. I guess a reason could be, that the different stacks I have are pretty different. Here are two different II integrations:



The image on he left, is Avg/AdditiveNormalization/NoWeights. The one on the right is Avg/AdditiveNormalization/NoiseEvaluation.

Measuring SNR on the background of the "No_Weights" image I get a value of 99.5, which is far lower than when i combine the different stacks using PixelMath as described above.

I'm sure that I must have done something wrong in ImageIntegration, but I simply couldn't figure out what it was. Therefore I watched one of Harry's tutorials involving some PixelMath, decided that it didn't look "that difficult" and gave it a try.

Since then I've really come to like PM. It's kind of like programming my Commodore Vic20 again, which makes me very nostalgic ;D

Morten

Offline Ignacio

  • PixInsight Old Hand
  • ****
  • Posts: 375
    • PampaSkies
Re: Combining stacks with different SNRs
« Reply #8 on: 2013 May 27 06:55:25 »
Have you tried normalizing with "Additive + scaling"? Additive takes care of different additive zero offsets, while scaling takes care of mean dispersion.

Ignacio

Offline MortenBalling

  • Member
  • *
  • Posts: 74
Re: Combining stacks with different SNRs
« Reply #9 on: 2013 May 27 15:11:41 »
Yes I tried that as well. It gives a result very similar to when I only use additive normalization. (Kind of strange btw.)

As I mentioned above, the stacks I recieved from the different members of the team are very different when it comes to pedistal, SNR, etc.

They also differ a lot in FWHM, but I can solve most of that by making two stacks, one with max SNR and one with max FWHM (haven't quite figured that one out yet). Those are then combined with a modified luminance mask.

Morten

Offline Ignacio

  • PixInsight Old Hand
  • ****
  • Posts: 375
    • PampaSkies
Re: Combining stacks with different SNRs
« Reply #10 on: 2013 May 27 19:03:46 »
Strange that it doesn't work, as I would expect it to accommodate different pedestals (additive normalization), different illumination, and weight to estimated SNR.

Ignacio
« Last Edit: 2013 May 27 19:12:35 by Ignacio »

Offline MortenBalling

  • Member
  • *
  • Posts: 74
Re: Combining stacks with different SNRs
« Reply #11 on: 2013 May 28 03:47:58 »
I agree. Normally II does a way better job, than anything I can come up with myself. I've been working as a compositor in the movie industry for many years, and started my astrophoto experience using homemade scripts for calibration, alignment and post processing  (using software for VFX called NukeX). I then moved to Nebulosity, because it's so easy to learn, but the last few months I've really gotten into the wonderful world of PI.

Pi has processes/scripts that are able to do all the "smart stuff" I "invented" in my homemade scripts, and a lot more. Here is an example of the image done using my own methods:



Using DynamicPSF/Deconvolution, ATW, MorphologicalTransform and PixelMath, I'm getting a much better result, but now it's really hard to let go of the image, because I find new features in PI all the time. All good things must come to and end, so I hope this is the final round. We have several new projects coming up.

Morten :)