|
| 1 | +---------------------------------------------------------------- |
| 2 | +X3F Tools is a library for accessing Sigma X3F raw image files |
| 3 | +---------------------------------------------------------------- |
1 | 4 |
|
| 5 | +Reading of the format: |
2 | 6 |
|
| 7 | +The code understands the old format for SD9, SD10 and SD14. It also |
| 8 | +understands the new format introduced with DP1. The latter format is |
| 9 | +associated with the TRUE engines, TRUE I and TRUE II. Currently it |
| 10 | +also supports the Merrill version and up to the slightly different |
| 11 | +Quattro version of the format. |
3 | 12 |
|
4 | | -OUT OF DATE !!!!!!! |
5 | | -OUT OF DATE !!!!!!! |
6 | | -OUT OF DATE !!!!!!! |
7 | | -OUT OF DATE !!!!!!! |
8 | | -OUT OF DATE !!!!!!! |
9 | | -OUT OF DATE !!!!!!! |
10 | | - |
11 | | - |
12 | | -TODO : needs serious rewriting! |
| 13 | +Converting to color images: |
13 | 14 |
|
| 15 | +The code can convert all the above formats, except the Polaroid x530, |
| 16 | +to DNG files. Those DNG files contain color conversion data so that |
| 17 | +e.g. Lightroom can convert them to color-correct images. |
14 | 18 |
|
| 19 | +The code can also convert to color-correct TIFF images, but out of |
| 20 | +gamut colors are not handled correctly, in particular if the input |
| 21 | +channels are clipped. The latter leads to e.g. colorful skies. |
15 | 22 |
|
16 | 23 | ---------------------------------------------------------------- |
17 | | -X3F tools is a library for accessing Sigma X3F raw image files |
18 | | ----------------------------------------------------------------- |
| 24 | +Included in the library are two tools: |
19 | 25 |
|
20 | | -The code understands the old format for SD9, SD10 and SD14. The code |
21 | | -also understands the new format introduced with DP1. The latter format |
22 | | -is associated with the TRUE engines TRUE I and TRUE II. Currently the |
23 | | -code supports up to the Quattro version of the cameras, but do only |
24 | | -understand meta data up to Merrill. |
| 26 | + x3f_extract A tool that extracts JPEG thumbnails and raw images. |
| 27 | + See below for usage. The RAW images may also be |
| 28 | + converted to DNG or TIFF color images. Metadata and |
| 29 | + histograms over the data might also be written. |
25 | 30 |
|
26 | | ----------------------------------------------------------------- |
27 | | -Included in the library are two tools |
28 | | - x3f_extract A tool that extracts JPEG thumbnail and raw images. |
29 | | - See below for usage. |
30 | | - x3f_io_test A tool that prints some meta data and tests that |
| 31 | + x3f_io_test A tool that prints some metadata and tests that |
31 | 32 | the code is working properly. This tool is not |
32 | | - made to be user friendly. Its mainly a test |
33 | | - tool for developing the code. This tool can |
34 | | - also write x3f files. They should (with this |
35 | | - tool) be identical to the origanal file. |
36 | | - See below for usage. |
| 33 | + made to be user friendly. It is mainly a testing |
| 34 | + tool used for development. |
37 | 35 | ---------------------------------------------------------------- |
38 | 36 |
|
39 | 37 | ---------------------------------------------------------------- |
40 | 38 | Executables |
41 | 39 | ---------------------------------------------------------------- |
42 | 40 |
|
43 | | -It is a fair chance that you can find pre built executables on |
44 | | -http://www.proxel.se/x3f.html. |
| 41 | +Prebuilt executables will be available at: http://www.proxel.se/x3f.html |
45 | 42 |
|
46 | 43 | ---------------------------------------------------------------- |
47 | 44 | Building |
48 | 45 | ---------------------------------------------------------------- |
49 | 46 |
|
50 | | -You are supposed to have installed gcc (and gmake) on your machine. |
51 | | -On Windows this currently (2010) means mingw. |
| 47 | +You are supposed to have gcc, gmake and cmake installed on your |
| 48 | +machine. Currently you need to build on Linux with cross-compilation |
| 49 | +for Windows and OSX. |
52 | 50 |
|
53 | 51 | The command "make" builds the executables. |
54 | 52 |
|
55 | | -The makefile tries to find out what platform you are on. This might |
56 | | -fail if your system has unexpected properties. In this case you are on |
57 | | -your own and have to hack the makefile file. |
| 53 | +The makefile tries to find out which platform you are on. This might |
| 54 | +fail if your system has unexpected properties. In that case you are on |
| 55 | +your own and have to hack the makefile. |
58 | 56 |
|
59 | 57 | ---------------------------------------------------------------- |
60 | 58 | Usage of the x3f_extract tool |
61 | 59 | ---------------------------------------------------------------- |
62 | 60 |
|
63 | | -The tool can be used thus: |
64 | | - |
65 | | -(1) x3f_extract -raw file.x3f |
66 | | -(2) x3f_extract -tiff file.x3f |
67 | | -(3) x3f_extract -tiff -gamma 2.2 [-min 0] [-max 5000] file.x3f |
68 | | -(4) x3f_extract -jpeg file.x3f |
69 | | -(5) x3f_extract -ppm file.x3f |
70 | | -(6) x3f_extract -ppm -gamma 2.2 [-min 0] [-max 5000] file.x3f |
71 | | -(7) x3f_extract -meta file.x3f |
72 | | - |
73 | | -(1) dumps the data block of the RAW image verbatim. The original RAW |
74 | | - data is not parsed or interpreted and is therefore for almost all |
75 | | - aspects useless. Mainly used for analyzing a new unknown format. |
76 | | - |
77 | | -(2) parses and interprets the RAW image data and then dumps the result |
78 | | - as a 16 bit TIFF file (called file.x3f.tif) without doing any |
79 | | - changes to the pixel values. |
| 61 | +You will get complete information on the switches by running |
| 62 | +x3f_extract without any switches, or e.g. with the switch -help. |
80 | 63 |
|
81 | | - NOTE - if you load this TIFF file in e.g. Photoshop - the result |
82 | | - is a very dark (almost black) image. This image needs scaling and |
83 | | - gamma coding to look good. |
| 64 | +Here are some examples: |
84 | 65 |
|
85 | | - NOTE - the result is not a regular RGB image - its in the X3F |
86 | | - "color space" - so it contains faulty colors. |
| 66 | +(1) x3f_extract -denoise file.x3f |
| 67 | + This one creates the file file.dng for usage in e.g. Lightroom |
| 68 | + or Photoshop (via ACR). The file contains denoised but unconverted |
| 69 | + RAW data plus color conversion info. |
87 | 70 |
|
88 | | -(3) is the same as (2) but it scales the image according to |
89 | | - a min, a max and a gamma value. If the min and max values are not |
90 | | - given then they are estimated. |
| 71 | +(2) x3f_extract -denoise -tiff -color sRGB -crop file.x3f |
| 72 | + This one creates the file file.tif for usage in e.g. Photoshop. |
| 73 | + The file is fully converted to sRGB, but without rendering intent |
| 74 | + so you might get strange clipping. |
91 | 75 |
|
92 | | - NOTE - the current code does not really know how to compute |
93 | | - the correct min and max values. Its recommended to set it yourself |
94 | | - - a guess is that max might be between 5000 and 10000. The program |
95 | | - writes the min and max value it finds. If you are outside the range, |
96 | | - the value is clipped. |
| 76 | +(3) x3f_extract -unprocessed file.x3f |
| 77 | + This one creates the file file.tif with raw data. The data is |
| 78 | + linear and unscaled. So, it will generally look black and needs to |
| 79 | + be rescaled and gamma 2.2 has to be applied to it in your editor. |
97 | 80 |
|
98 | | -(4) dumps the embedded JPEG thumbnail verbatim as file.x3f.jpg |
| 81 | +(4) x3f_extract -meta file.x3f |
| 82 | + This one dumps metadata to file.meta |
99 | 83 |
|
100 | | - NOTE - this is not a JPEG of the RAW data. |
101 | | - |
102 | | -(5) Same as (2) but output is binary 16 bit PPM |
103 | | - |
104 | | -(6) Same as (3) but output is binary 16 bit PPM |
105 | | - |
106 | | -(7) dumps the meta data extracted from the file. |
107 | 84 |
|
108 | 85 | ---------------------------------------------------------------- |
109 | 86 | Usage of the x3f_io_test tool |
110 | 87 | ---------------------------------------------------------------- |
111 | 88 |
|
112 | | -The tool can be used thus |
| 89 | +This tool is really only a debugging tool for development. The tool |
| 90 | +can be used thus: |
113 | 91 |
|
114 | 92 | (1) x3f_io_test file.x3f |
115 | | -(2) x3f_io_test file.x3f -unpack |
116 | | -(3) x3f_io_test file.x3f -write |
117 | | -(4) x3f_io_test file.x3f -unpack -write |
118 | | - |
119 | | -(1) reads the file and parses the main data structure of the file and |
120 | | - then prints some info about it. NOTE - no parsing of data blocks, |
121 | | - e.g. image blocks, is made. |
122 | | - |
123 | | -(2) same as (1) but also parses data blocks, and then prints info again. |
124 | | - |
125 | | -(3) Same as (1), but also writes from the unparsed version. |
126 | | - |
127 | | -(4) Same as (2), but also writes both from the umparsed version and |
128 | | - the parsed. |
129 | | - |
130 | | - NOTE - detaled assembling of the blocks is not yet implemented, so |
131 | | - the assembling is partly phony. Therefore - that oufile2 is |
132 | | - identical does not say so much as it should. |
133 | | - |
134 | | - NOTE - the printouts contain CAMF parameter names. The current |
135 | | - implementation stops parsing CAMF when finding something it does |
136 | | - not understand. That might be wrong. Therefore - parameters might |
137 | | - be missing. |
| 93 | + Reads the file, parses the main data structure, and then prints |
| 94 | + some info about it. NOTE - no parsing of data blocks, e.g. image |
| 95 | + blocks, is done. |
138 | 96 |
|
139 | | - NOTE - the actual contents of the CAMF parameters is not yet parsed. |
| 97 | +(2) x3f_io_test -unpack file.x3f |
| 98 | + Same as (1), but also prints info from the parsed data blocks. |
0 commit comments