Bad pixel removal not working - Build 0.9.9-1118 - RAW Shooting and Processing - CHDK Forum supplierdeeply

Bad pixel removal not working - Build 0.9.9-1118

  • 4 Replies
  • 2934 Views
Bad pixel removal not working - Build 0.9.9-1118
« on: 21 / November / 2011, 21:10:55 »
Advertisements
Hello All,
I am new here so I start with a big thank you to all the CHDK developers and contributors !
You are designing a really useful (master)piece of software and you give to every PowerShot owner many more reasons to love their camera(s).
I have downloaded CHDK build 0.9.9-1118 recently for my S3IS.
I have played with bad pixel removal settings, and I am puzzled by CHDK behavior and reading the online manual does not clarify things to me. Here is what I have tried :

RAW mode is configured as follows :
- Dark frame substraction off
- RAW on
- DNG off
- badpixel.bin NOT created.

At this stage, trying to check DNG mode, pops-up a warning saying that badpixel.bin must be created. So far, so good.
But, with DNG off, setting "bad pixel removal" to anything other than off, does not warn the user badpixel.bin is required. However, the online manual says this file is used to remove dead pixel from RAW and JPEG picture as well...even when DNG is off. Thus why does CHDK pop up a warning requiring badpixel.bin, when not present, only when checking DNG on ?
After creation of badpixel.bin (camera set @ ISO 400), I played with the three "bad pixel removal" settings : off, average, RAWconv. Both in RAW only and DNG mode. So six possibilites. Shooting mode : flash on, White balance = flash, speed = 1/60s. ISO 400
After inspection, all the pictures from the camera (JPG, RAW and DNG) show the same nasty bad pixels, whatever the setting is.
Either I did something wrong, or the feature does not work, at least on the S3IS ?
The online manual says badpixel.bin is a plain text file with x,y coordinates. But, as the .bin extension tells it, it is a binary file, which can be checked with a file editor.
If I missed something, please, tell me.

Thank you.

*

Offline reyalp

  • ******
  • 13061
Re: Bad pixel removal not working - Build 0.9.9-1118
« Reply #1 on: 21 / November / 2011, 21:22:38 »
However, the online manual says this file is used to remove dead pixel from RAW and JPEG picture as well...even when DNG is off.
This is not actually true any more (I think it was at some point in the past, but I could be wrong). The dng badpixel file is only used for DNG. It only affects pixels the canon firmware *already* knows are bad, so it shouldn't really affect jpeg.

Quote
Thus why does CHDK pop up a warning requiring badpixel.bin, when not present, only when checking DNG on ?
Because badpixel interpolation is required to produce a valid DNG.

Quote
After creation of badpixel.bin (camera set @ ISO 400), I played with the three "bad pixel removal" settings : off, average, RAWconv.
There are two badpixel systems in CHDK. badpixel.bin is used exclusively for DNG. See http://chdk.wikia.com/wiki/Badpixel_removal

edit:
I've removed some incorrect references to badpixel.bin from the user manual. That whole section could still use some cleanup.
« Last Edit: 21 / November / 2011, 21:27:59 by reyalp »
Don't forget what the H stands for.

Re: Bad pixel removal not working - Build 0.9.9-1118
« Reply #2 on: 22 / November / 2011, 04:40:32 »
Thank you Reyalp for these clarifications.
So, as far as I understand, if I still have bad pixels on a DNG shot with "bad pixel removal" enabled and a valid badpixel.bin file, it means these pixels get damaged after the camera was manufactured, right ?
Could you, please, explain why, if badpixel.bin is built from the bad pixels list recorded by Canon during the manufacturing process, CHDK needs to take two shots to create it ? I thought the purpose of these two shots was to record ALL bad pixels, even the most recent ones...

Alain

*

Offline philmoz

  • *****
  • 3235
    • Photos
Re: Bad pixel removal not working - Build 0.9.9-1118
« Reply #3 on: 22 / November / 2011, 14:54:31 »
Thank you Reyalp for these clarifications.
So, as far as I understand, if I still have bad pixels on a DNG shot with "bad pixel removal" enabled and a valid badpixel.bin file, it means these pixels get damaged after the camera was manufactured, right ?
Could you, please, explain why, if badpixel.bin is built from the bad pixels list recorded by Canon during the manufacturing process, CHDK needs to take two shots to create it ? I thought the purpose of these two shots was to record ALL bad pixels, even the most recent ones...

Alain


What do the bad pixels look like - black areas or bright colored spots?

The CHDK code looks for dead pixels which show as black in the image, and removes these by interpolating from the values around them.

CHDK does not handle stuck pixels which would show as bright spots in the images.

If CHDK is not finding all the dead pixels try re-doing the badpixel creation at the highest ISO.

Phil.
CHDK ports:
  sx30is (1.00c, 1.00h, 1.00l, 1.00n & 1.00p)
  g12 (1.00c, 1.00e, 1.00f & 1.00g)
  sx130is (1.01d & 1.01f)
  ixus310hs (1.00a & 1.01a)
  sx40hs (1.00d, 1.00g & 1.00i)
  g1x (1.00e, 1.00f & 1.00g)
  g5x (1.00c, 1.01a, 1.01b)
  g7x2 (1.01a, 1.01b, 1.10b)


*

Offline reyalp

  • ******
  • 13061
Re: Bad pixel removal not working - Build 0.9.9-1118
« Reply #4 on: 22 / November / 2011, 15:19:37 »
So, as far as I understand, if I still have bad pixels on a DNG shot with "bad pixel removal" enabled and a valid badpixel.bin file, it means these pixels get damaged after the camera was manufactured, right ?
First the bad pixel removal setting doesn't affect DNG badpixel.bin. If you shoot DNG, then all the pixels listed in badpixel.bin will be interpolated over.  The badpixel removal setting only affects the other badpixel system.

Whether other bad pixels got damaged after manufacture... we don't know what criteria canon uses to build their list.
Quote
Could you, please, explain why, if badpixel.bin is built from the bad pixels list recorded by Canon during the manufacturing process, CHDK needs to take two shots to create it ?
Shots are needed because we don't know how to get the list from the canon firmware in a more direct way.  The canon firmware sets known bad pixels values to 0, we just record a list of these pixels. Two shots are used to check that the calculated lists are identical, which helps protect against generating a bogus badpixel list in a buggy port.
Don't forget what the H stands for.

 

Related Topics