supplierdeeply

recalibrating the bad-pixel map

  • 3 Replies
  • 2257 Views
recalibrating the bad-pixel map
« on: 02 / April / 2014, 13:16:52 »
Advertisements
Hi
Is it possible, using some native function with CHDK, or otherwise, to perform a bad/hot-pixel calibration on a camera? In this case it's an SX50.

I have replaced the main board in it, which had earlier released the magic smoke from an important chip. But now the live preview is littered with red dots, as the replacement (used) main-board was of course calibrated for a different sensor.

Would anyone have any idea of how it could be recalibrated?

*

Offline srsa_4c

  • ******
  • 3628
Re: recalibrating the bad-pixel map
« Reply #1 on: 02 / April / 2014, 16:13:09 »
I'm not aware of any research about the various adjustment tables found in ROM.
A person with a new (under warranty) camera could help us by doing this:
- if there's any visible hot or dead pixel in live view/recorded video/stills
- make a full ROM dump
- make uncorrected CHDK raw files with various ISO and Tv settings
- dump live image frames with chdkptp
- let the official Canon service repair the cam
- make another ROM dump afterwards
The service may choose to replace the whole camera or replace the sensor, so success is not guaranteed...

There are event procedures with suspicious names in the firmware (see funcs_by_address.csv):
Code: [Select]
0xff2d4dcc,PointDefDetect_FW
0xff2d502c,MergeAndConvertDefect_FW
0xff2d533c,PointKizuCheck_FW
0xff2d53a8,SensDefCrowdCheck_FW
0xff2d53dc,ChangeGradeTable_FW
0xff2d53e4,CrossDefDetect_FW
0xff2d5594,ChangeCrossThresholdTable_FW
0xff2d55a8,MixPixDetect_FW
0xff2d5810,GetDefectCrawInfo_FW
0xff2d5874,SetDefectDebugInfo_FW
0xff2d58a0,GetDefectHistgramInfo_FW
0xff2d58d8,GetDefectTvAdj_FW
0xff2d5a04,SetDefectRecParam_FW
0xff2d5bcc,ChangeDefectRecParam_FW
0xff2d5bdc,ExecuteDefectRec_FW
0xff2d5c08,ExecuteDefectRecAndSaveImage_FW
0xff2d5c70,ExecuteDefectRecWithGrade_FW
0xff2d5cac,ExecuteDefectRecAndSaveImageWithGrade_FW
0xff2d5d1c,j_InitializeDefectRec_FW
0xff2d5d20,j_TerminateDefectRec_FW
The actual event procedures have neither "j_" nor "_FW" in their names. "Kizu" (Japanese) likely means something close to "defect", the word is also used as "magic" in some ROM tables. Some functions may require special operating conditions (like special lighting).
A physical UART connection or camera console redirection might be the easiest way to mess with event procedures.
Since it's very easy to screw up the adjustment tables, be sure to make a ROM backup before...

*

Offline reyalp

  • ******
  • 11334
Re: recalibrating the bad-pixel map
« Reply #2 on: 02 / April / 2014, 16:14:08 »
Hi
Is it possible, using some native function with CHDK, or otherwise, to perform a bad/hot-pixel calibration on a camera? In this case it's an SX50.
Canon service undoubtedly has software that can perform this task.

Quote
Would anyone have any idea of how it could be recalibrated?
1) Pay Canon to do it. There's quite a lot of calibration beyond just the badpixel list.
2) If you are feeling brave/foolish, look at the factory mode / adjustment event procs (those registered by "InitializeAdjustmentSystem", "FA.Create" etc). Be warned though that there is a non-zero probability of making things worse.  Note that you probably don't want to actually set the camera to factory mode, see http://chdk.setepontos.com/index.php?topic=4417.msg45029#msg45029 (tl;dr factory mode looks like a bricked camera, but isn't actually)
Don't forget what the H stands for.

Re: recalibrating the bad-pixel map
« Reply #3 on: 03 / April / 2014, 01:35:13 »
Thanks for the replies guys. Sounds a lot more risky than I thought it would be; on my late Pentax WG-2 (now bricked from a bad SD card), it was just a matter of finding the pixel-mapping option in the menu. Fortunately though, the replacement mainboard was from another broken camera (bad lens), with a working cmos sensor. So I ended up putting the other sensor in it and now the problem is solved (well I transplanted the whole back end of the lens assembly as the sensor was glued in). Somewhat risky, but probably safer than this.

Quote
There are event procedures with suspicious names in the firmware (see funcs_by_address.csv):
Quote
2) If you are feeling brave/foolish, look at the factory mode / adjustment event procs (those registered by "InitializeAdjustmentSystem", "FA.Create" etc). Be warned though that there is a non-zero probability of making things worse.  Note that you probably don't want to actually set the camera to factory mode, see http://chdk.setepontos.com/index.php?topic=4417.msg45029#msg45029 (tl;dr factory mode looks like a bricked camera, but isn't actually)
I might play around with some of these on my 'test camera' (an ixus 65) to see what they do. If it makes it worse it doesn't really matter as I got it for free anyway; and it's already pretty useless as far as image-quality goes. Having an option to map hot-pixels would certainly be useful for long-exposures.


I might do a teardown later and post some photos of inside the other lens. It is rather interesting, particularly the voice-coil focusing mechanism (and I thought that was done with an ultrasonic motor).


 

Related Topics