supplierdeeply

badpixel.bin createn problems (file seem too large)

  • 2 Replies
  • 924 Views
  • Publish
    badpixel.bin createn problems (file seem too large)
    « on: 25 / January / 2011, 10:32:06 »
    Advertisements
    When camera is cold, i get 27000 bad pixels, when its hot (CCD 38) i get 1206xx.

    But this are way too much bad pixels, chdk can handle  i think, the file is in size 482 kb and cant load seem due to out of memory.
    I try to set lots larger as this.but this values look ok

     #define CAM_ACTIVE_AREA_X1         42
       #define CAM_ACTIVE_AREA_Y1         24

    to

    #define CAM_ACTIVE_AREA_X1         142
       #define CAM_ACTIVE_AREA_Y1         124


    and smaller values.

       #define CAM_ACTIVE_AREA_X2         3816-126
       #define CAM_ACTIVE_AREA_Y2         2784-24

    to

    #define CAM_ACTIVE_AREA_X2         3816-226
       #define CAM_ACTIVE_AREA_Y2         2784-124

    But when CCD temperature is 38 (which happen after 1-2 minutes ) then i still get 1206xx badpixel
    a badpixel file of 27000 work ok with DNG, it have 100 kb in size.

    Is it possible that there is a maximum limit in the file creation ?

    I also dont understand what time this should be.

    shooting_set_tv96_direct(96, SET_LATER);

    from shutter sound it sound same as normal exposure time (0.5 sec or 1/8 on brighter light), but the tft on camera is black for around 10 sec

    does this mean shooting_set_tv96_direct(96, SET_LATER); do not work ?

    I need only a badpixel for 1/8 sec because i never exposure longer.
    when i look on RAW, i see they contain many badpixels, but if this are 120000 i cant believe.

    Is there a software that can count badpixels in the DNG image and tell how many there are ?

    Or is it possible that chdk save the badpixel image as a crw, so can see if there go something wrong in badpixel image creation ?

    I see normal expose jpg images and when i shoot something black to get long exposure time, i get badpixel creation failed.  

    I have also the idea to get longer shoot due to powersave, if it is possible to add in the shooting preview a delay so only every 2. frame is draw in preview.this give 15 fps then.this is enough.

    when shoot half is press, then normal rate can use

    Is that possible ?
    « Last Edit: 25 / January / 2011, 10:40:32 by Bernd R »
    Ixus 1000 HS

    *

    Offline reyalp

    • ******
    • 9803
  • Publish
    Re: badpixel.bin createn problems (file seem too large)
    « Reply #1 on: 25 / January / 2011, 16:52:10 »
    General thoughts:
    Lots of bad pixels eating up available memory is a real problem, we need to think about how to deal with this. DNG opcodes would be the best solution. Adding a "dng version" option to the DNG code shouldn't be hard.

    Creating our own almost-dng wrapper format with conversion on the PC (as I have proposed before) would also be a solution.

    We could potentially store the badpixel list in a more efficient way in memory. We don't need 16 bits per coordinate (13 would be enough for all current cams) and there might be other ways of encoding the information (RLE bitfield, or making the the Y coordinate relative so it can be stored in less bits)

    Related to your post:
    Active area should be set to the actual active area of your particular camera model. Messing with it to try to work around some other problem is wrong. Don't do that.

    badpixel.bin contains only pixels the canon firmware has set to zero. On my D10, the actual non-active area does not contain any zero valued pixels, but you might want to use rawconvert (on a non-dng raw of course) to check that this applies to yours.

    If you don't use DNG, you don't need it at all. If DNG is not enabled, badpixel.bin is not loaded.

    If you do use DNG, but have some other way to interpolate over zero valued pixels, you can use a dummy file with one pixel.
    Quote
    From shutter sound it sound same as normal exposure time (0.5 sec or 1/8 on brighter light), but the tft on camera is black for around 10 sec
    This is normal, the "don't panic" message is there for a reason. Checking all the pixels takes a long time, that's why we make a list instead of just finding the zero-valued ones at run-time.

    Quote
    does this mean shooting_set_tv96_direct(96, SET_LATER); do not work ?
    No, it means nothing of the sort.

    96 == APEX 1 == 0.5 sec

    Quote
    Or is it possible that chdk save the badpixel image as a crw, so can see if there go something wrong in badpixel image creation ?
    I don't understand. Current CHDK doesn't save an image for badpixel creation, it just reads the raw buffer. In older versions it would save a raw, but this was just a side effect, it doesn't actually use the file.

    If you want to look at the badpixels in your camera, then just save a CRW normally and look for zero valued pixels.
    Don't forget what the H stands for.

  • Publish
    Re: badpixel.bin createn problems (file seem too large)
    « Reply #2 on: 26 / January / 2011, 05:21:44 »
    I create a badpixel file with dark frame subtraction off(default in chdk is auto), it have now only 8326 badpixels(even if CCD temperature show 41. and file is 33 kb in size.it change not if exposure longer or i do ISO1600.

    so the thing that cause the high badpixel count on my Camera is dark frame subtraction.Is this on other Camera same, that dark frame subtraction get very much badpixels ?

    I get a badpixel file of 33 kb in size now, and when i shoot DNG images, i can see no wrong dots.3 images shot and no wrong dot see.

    So seem the Camera have only 8326 Badpixels and not more than 120000 as with dark frame subtraktion on

    maybe the badpixel function should temporarily disable darkframe subtraction because dark frame subtraction give wrong detect in badpixels.

    >I don't understand. Current CHDK doesn't save an image for badpixel creation, it just reads the raw >buffer. In older versions it would save a raw, but this was just a side effect, it doesn't actually use the file.

    Do you mean it save no jpg file too ?
    On my Camera a jpg is save.it is correct exposure and the time is diffrent to 0.5 sec.So seem that on my CAM shooting_set_tv96_direct not work.

    I read on SX30 that ISO overwrite not work, same on my CAM.Is it possible that newer camera need other hook address for the exposure task, or do this Job other task ?

    Edit:

    with the testcode i add here

    http://chdk.setepontos.com/index.php?PHPSESSID=f66cf2f8baa575263b852123a458b607&topic=5722.msg60215#msg60215

    i get when i put the camera lens on a black part direct values upto 164.but it differ, sometimes 112 sometimes 164.when i set ISO125 its more constant, but still sometimes below 127.

    Is it important that black level constant is correct ?
    IX1000 use as all other Ports 127.

    #define CAM_BLACK_LEVEL             127

    For the white level i get for all pixels 4079

    #define CAM_WHITE_LEVEL             ((1<<CAM_SENSOR_BITS_PER_PIXEL)-1)

    is the define and this is 4095

    If black and whitelevels are important, maybe the testcode in the link can add in chdk so devs can easy find out correct values.

    « Last Edit: 26 / January / 2011, 06:49:31 by Bernd R »
    Ixus 1000 HS

     

    Related Topics