====== Photo scan with GNU/Linux and Canon CanoScan 9000F Mark II ====== See the page **[[canoscan_9000f_mark_ii]]**. Considering the scanner capabilities (A4 scan surface, **9600 dpi**, **48 bit**), you should consider to have a proper software suite to hanle all the workflow. **Debian 10** ships **Gimp 2.10**, which is capable of handling TIF images with **16 bit per color channel**. Also you need a 64 bit system to handle very huge files, **8 Gb of RAM** is the bare minimum you should consider. The **Imagemagick 6.9** suite can handle **color profiles** and is capable of 48 bit. ===== Using scanimage ===== With the command below, you will get a full-page scan ad **1200 dpi** and 48 bit color (16 bit per color channel). The RGB values received from the sensor are stored as //RAW// values inside the TIFF image, without any specific interpretation of color space. By adding the **%%--icc-profile%%** to the **scanimage** invocation, we are just asking to **embed the color profile** into the image, wihout altering the pixel data values. That color profile will be eventually used by the software (e.g. GIMP) to correctly interpretate the image colors. #!/bin/sh FORMAT='tiff' RESOLUTION='1200' SCANNER_PROFILE='/usr/local/share/color/icc/canon9000fmarkii.icc' FILENAME="$(date +%Y-%m-%d_%H%M%S)" scanimage --device-name "pixma:04A9190D" \ --source 'Flatbed' \ --resolution "$RESOLUTION" \ --format "$FORMAT" \ --mode '48 bits color' \ --icc-profile "$SCANNER_PROFILE" \ > "${FILENAME}-${RESOLUTION}.$FORMAT" When you will open the image into GIMP, you will asked if you want to convert the pixel values from the **custom Canon color space**, to the **standard sRGB** color space. Keeping the image into its original format (16 bit and original color space) is the best option if you want to keep all the numerical data for future image manipulation. Converting to another color space (sRGB is the one suggested by GIMP) will speed-up the handling of the image, but it is an **lossy one-way operation** due numerical **approximation errors** and due differences in **color space extensions**. The GIMP is rather good in handling various image formats with custom color profiles, but beware that not all the viewers are equally capable. E.g. the **Geeqie 1.4** image viewer **does not apply** custom ICC profiles **to JPEG images**, so it will display images as //RAW data// (bad colors). Images for the web generally do not embed a custom color profile, they are expected to be into the sRGB color space, compressed as JPEG 24 bit (8 bit per channel). ===== The Canon 9000F ICC profile ===== An **[[wp>ICC Profile]]** specifies a set of rules to transform the graphics data (the color values of each pixel) from the source (the scanner in our case) to a target (e.g. the scren). The mappings may be specified using **tables**, to which **interpolation** is applied, or through a series of **parameters** for **function** transformations. A color profile for a scanner can be build using a **[[wp>Color chart|color chart]]** and a calibration software. A very poular color chart is the **[[wp>ColorChecker]]** (known also as the **Macbeth ColorChecker**, now **X-Rite**), of which there are also many imitations. In the GNU/Linux world you can use the **darktable-chart** tool provided by the **darktable** package. An ICC profile is generally shipped as a file with the **ICC** or **ICM** extension (which are actually the same file format). For the **Canon CanoScan 9000F Mark II** there is, available on the net, a color profile made by an unknown author, here you can find a copy: **{{.:canon-900f:canon_9000f_mark_ii_icc.tgz|canon_9000f_mark_ii_icc.tgz}}**. Originally I found the file on [[https://archive.org/details/canon9000fmarkiiiccicm|archive.org]]. ===== Imagemagick tools ===== See the page **[[..:software:imagemagick_color_management]]**.