-
Notifications
You must be signed in to change notification settings - Fork 8
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #5 from rolkar/feature/doc
Feature/doc
- Loading branch information
Showing
7 changed files
with
107 additions
and
174 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,139 +1,98 @@ | ||
---------------------------------------------------------------- | ||
X3F Tools is a library for accessing Sigma X3F raw image files | ||
---------------------------------------------------------------- | ||
|
||
Reading of the format: | ||
|
||
The code understands the old format for SD9, SD10 and SD14. It also | ||
understands the new format introduced with DP1. The latter format is | ||
associated with the TRUE engines, TRUE I and TRUE II. Currently it | ||
also supports the Merrill version and up to the slightly different | ||
Quattro version of the format. | ||
|
||
OUT OF DATE !!!!!!! | ||
OUT OF DATE !!!!!!! | ||
OUT OF DATE !!!!!!! | ||
OUT OF DATE !!!!!!! | ||
OUT OF DATE !!!!!!! | ||
OUT OF DATE !!!!!!! | ||
|
||
|
||
TODO : needs serious rewriting! | ||
Converting to color images: | ||
|
||
The code can convert all the above formats, except the Polaroid x530, | ||
to DNG files. Those DNG files contain color conversion data so that | ||
e.g. Lightroom can convert them to color-correct images. | ||
|
||
The code can also convert to color-correct TIFF images, but out of | ||
gamut colors are not handled correctly, in particular if the input | ||
channels are clipped. The latter leads to e.g. colorful skies. | ||
|
||
---------------------------------------------------------------- | ||
X3F tools is a library for accessing Sigma X3F raw image files | ||
---------------------------------------------------------------- | ||
Included in the library are two tools: | ||
|
||
The code understands the old format for SD9, SD10 and SD14. The code | ||
also understands the new format introduced with DP1. The latter format | ||
is associated with the TRUE engines TRUE I and TRUE II. Currently the | ||
code supports up to the Quattro version of the cameras, but do only | ||
understand meta data up to Merrill. | ||
x3f_extract A tool that extracts JPEG thumbnails and raw images. | ||
See below for usage. The RAW images may also be | ||
converted to DNG or TIFF color images. Metadata and | ||
histograms over the data might also be written. | ||
|
||
---------------------------------------------------------------- | ||
Included in the library are two tools | ||
x3f_extract A tool that extracts JPEG thumbnail and raw images. | ||
See below for usage. | ||
x3f_io_test A tool that prints some meta data and tests that | ||
x3f_io_test A tool that prints some metadata and tests that | ||
the code is working properly. This tool is not | ||
made to be user friendly. Its mainly a test | ||
tool for developing the code. This tool can | ||
also write x3f files. They should (with this | ||
tool) be identical to the origanal file. | ||
See below for usage. | ||
made to be user friendly. It is mainly a testing | ||
tool used for development. | ||
---------------------------------------------------------------- | ||
|
||
---------------------------------------------------------------- | ||
Executables | ||
---------------------------------------------------------------- | ||
|
||
It is a fair chance that you can find pre built executables on | ||
http://www.proxel.se/x3f.html. | ||
Prebuilt executables will be available at: http://www.proxel.se/x3f.html | ||
|
||
---------------------------------------------------------------- | ||
Building | ||
---------------------------------------------------------------- | ||
|
||
You are supposed to have installed gcc (and gmake) on your machine. | ||
On Windows this currently (2010) means mingw. | ||
You are supposed to have gcc, gmake and cmake installed on your | ||
machine. Currently you need to build on Linux with cross-compilation | ||
for Windows and OSX. | ||
|
||
The command "make" builds the executables. | ||
|
||
The makefile tries to find out what platform you are on. This might | ||
fail if your system has unexpected properties. In this case you are on | ||
your own and have to hack the makefile file. | ||
The makefile tries to find out which platform you are on. This might | ||
fail if your system has unexpected properties. In that case you are on | ||
your own and have to hack the makefile. | ||
|
||
---------------------------------------------------------------- | ||
Usage of the x3f_extract tool | ||
---------------------------------------------------------------- | ||
|
||
The tool can be used thus: | ||
|
||
(1) x3f_extract -raw file.x3f | ||
(2) x3f_extract -tiff file.x3f | ||
(3) x3f_extract -tiff -gamma 2.2 [-min 0] [-max 5000] file.x3f | ||
(4) x3f_extract -jpeg file.x3f | ||
(5) x3f_extract -ppm file.x3f | ||
(6) x3f_extract -ppm -gamma 2.2 [-min 0] [-max 5000] file.x3f | ||
(7) x3f_extract -meta file.x3f | ||
|
||
(1) dumps the data block of the RAW image verbatim. The original RAW | ||
data is not parsed or interpreted and is therefore for almost all | ||
aspects useless. Mainly used for analyzing a new unknown format. | ||
|
||
(2) parses and interprets the RAW image data and then dumps the result | ||
as a 16 bit TIFF file (called file.x3f.tif) without doing any | ||
changes to the pixel values. | ||
You will get complete information on the switches by running | ||
x3f_extract without any switches, or e.g. with the switch -help. | ||
|
||
NOTE - if you load this TIFF file in e.g. Photoshop - the result | ||
is a very dark (almost black) image. This image needs scaling and | ||
gamma coding to look good. | ||
Here are some examples: | ||
|
||
NOTE - the result is not a regular RGB image - its in the X3F | ||
"color space" - so it contains faulty colors. | ||
(1) x3f_extract -denoise file.x3f | ||
This one creates the file file.dng for usage in e.g. Lightroom | ||
or Photoshop (via ACR). The file contains denoised but unconverted | ||
RAW data plus color conversion info. | ||
|
||
(3) is the same as (2) but it scales the image according to | ||
a min, a max and a gamma value. If the min and max values are not | ||
given then they are estimated. | ||
(2) x3f_extract -denoise -tiff -color sRGB -crop file.x3f | ||
This one creates the file file.tif for usage in e.g. Photoshop. | ||
The file is fully converted to sRGB, but without rendering intent | ||
so you might get strange clipping. | ||
|
||
NOTE - the current code does not really know how to compute | ||
the correct min and max values. Its recommended to set it yourself | ||
- a guess is that max might be between 5000 and 10000. The program | ||
writes the min and max value it finds. If you are outside the range, | ||
the value is clipped. | ||
(3) x3f_extract -unprocessed file.x3f | ||
This one creates the file file.tif with raw data. The data is | ||
linear and unscaled. So, it will generally look black and needs to | ||
be rescaled and gamma 2.2 has to be applied to it in your editor. | ||
|
||
(4) dumps the embedded JPEG thumbnail verbatim as file.x3f.jpg | ||
(4) x3f_extract -meta file.x3f | ||
This one dumps metadata to file.meta | ||
|
||
NOTE - this is not a JPEG of the RAW data. | ||
|
||
(5) Same as (2) but output is binary 16 bit PPM | ||
|
||
(6) Same as (3) but output is binary 16 bit PPM | ||
|
||
(7) dumps the meta data extracted from the file. | ||
|
||
---------------------------------------------------------------- | ||
Usage of the x3f_io_test tool | ||
---------------------------------------------------------------- | ||
|
||
The tool can be used thus | ||
This tool is really only a debugging tool for development. The tool | ||
can be used thus: | ||
|
||
(1) x3f_io_test file.x3f | ||
(2) x3f_io_test file.x3f -unpack | ||
(3) x3f_io_test file.x3f -write | ||
(4) x3f_io_test file.x3f -unpack -write | ||
|
||
(1) reads the file and parses the main data structure of the file and | ||
then prints some info about it. NOTE - no parsing of data blocks, | ||
e.g. image blocks, is made. | ||
|
||
(2) same as (1) but also parses data blocks, and then prints info again. | ||
|
||
(3) Same as (1), but also writes from the unparsed version. | ||
|
||
(4) Same as (2), but also writes both from the umparsed version and | ||
the parsed. | ||
|
||
NOTE - detaled assembling of the blocks is not yet implemented, so | ||
the assembling is partly phony. Therefore - that oufile2 is | ||
identical does not say so much as it should. | ||
|
||
NOTE - the printouts contain CAMF parameter names. The current | ||
implementation stops parsing CAMF when finding something it does | ||
not understand. That might be wrong. Therefore - parameters might | ||
be missing. | ||
Reads the file, parses the main data structure, and then prints | ||
some info about it. NOTE - no parsing of data blocks, e.g. image | ||
blocks, is done. | ||
|
||
NOTE - the actual contents of the CAMF parameters is not yet parsed. | ||
(2) x3f_io_test -unpack file.x3f | ||
Same as (1), but also prints info from the parsed data blocks. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.