Difference between revisions of "ToDo"
(→Notes) |
|||
Line 15: | Line 15: | ||
Sensor Datasheet: https://github.com/apertus-open-source-cinema/alpha-hardware/raw/master/Datasheets/datasheet_CMV12000%20v8.pdf | Sensor Datasheet: https://github.com/apertus-open-source-cinema/alpha-hardware/raw/master/Datasheets/datasheet_CMV12000%20v8.pdf | ||
Code: https://github.com/apertus-open-source-cinema/alpha-software/tree/master/misc_scripts_and_utilities/metadata-reader | |||
Bash script example: [[Axiom_Alpha_Prototype#Reading_and_Writing_Sensor_Register]] | Bash script example: [[Axiom_Alpha_Prototype#Reading_and_Writing_Sensor_Register]] | ||
Line 27: | Line 28: | ||
==RAW image metadata reader== | ==RAW image metadata reader== | ||
All sensor registers are embedded into the | All sensor registers are embedded into the raw16 image format. | ||
Details about the file format: [[RAW16]] | Details about the file format: [[RAW16]] | ||
Code: https://github.com/apertus-open-source-cinema/alpha-software/tree/master/misc_scripts_and_utilities/metadata-reader | |||
==dead/hot pixel detection software== | ==dead/hot pixel detection software== | ||
A software that is supplied with | A software that is supplied with a raw16 image and is able to detect dead/hot pixels and output all detected pixels positions. | ||
https://github.com/apertus-open-source-cinema/alpha-software/tree/master/misc_scripts_and_utilities/hot_pixel_detection | |||
==Flat-field correction generation software== | ==Flat-field correction generation software== |
Revision as of 13:05, 22 December 2013
1 Axiom Alpha Prototype
1.1 DNG Converter Software
- Add other DNG tags such as dead pixels, register settings, black level calibration data, etc.
- Implement the matrix as a LUT.
- Eventually port to from python to C/C++
Code: https://github.com/apertus-open-source-cinema/CMV12000_DNG_Writer
1.2 Linux C/C++ commandline tool to interpret all image sensor registers
We require a c/c++ commandline tool that takes the 128x16bit sensor dump as stdin. Displays the registers in a hex editor like way with addresses and content in a table and next to the table the human readable interpretation of the corresponding sensor parameters (exposure time, etc.)
Sensor Datasheet: https://github.com/apertus-open-source-cinema/alpha-hardware/raw/master/Datasheets/datasheet_CMV12000%20v8.pdf
Code: https://github.com/apertus-open-source-cinema/alpha-software/tree/master/misc_scripts_and_utilities/metadata-reader Bash script example: Axiom_Alpha_Prototype#Reading_and_Writing_Sensor_Register
1.2.1 Notes
- The current memory mapping is 32bit aligned, so the 16bit SPI registers show up as 32bit where only 16bits are significant.
- To extract the last 128x16bit from a raw image file use:
cat file.raw16 | dd bs=256 skip=98304
Or if you have a raw16.xz compressed file you can do it all in one piped command (assuming the c/c++ tool is called "register_info"):
xzcat file.raw16.xz | dd bs=256 skip=98304 | register_info
- Sample files and format specifications of RAW16 can be found here: RAW16
1.3 RAW image metadata reader
All sensor registers are embedded into the raw16 image format. Details about the file format: RAW16
1.4 dead/hot pixel detection software
A software that is supplied with a raw16 image and is able to detect dead/hot pixels and output all detected pixels positions.
1.5 Flat-field correction generation software
A software that is supplied with several (around 20 is sufficient) raw images of an out of focus 30% grey wall and is able to generate the sensitivity offset of each photosite and a resulting flat-field correction matrix (https://en.wikipedia.org/wiki/Flat-field_correction). The samples images are preferably done with a fast 50mm lens stopped down to F4-F5.6 facing an evenly lit surface (white wall with area at decent distance from wall light). To further smooth results the lens should be set to out-of-focus. We need to test if these measurements work even better with a lee filter in front of the sensor instead of a lens.