Skip to content

Latest commit

 

History

History
233 lines (132 loc) · 7.32 KB

File metadata and controls

233 lines (132 loc) · 7.32 KB

ImageConverter

.. py:class:: ImageConverter

  The ImageConverter class which corresponds to the C++ class :cpp:class:`rta::util::ImageConverter`.
  It allows high level raw file conversion.

  Usage examples:

  .. code-block:: python

    import rawtoaces
    converter = rawtoaces.ImageConverter()
    converter.process_image("/path/to/input/file.CR3")

  This will convert the input file "/path/to/input/file.CR3" using the default settings,
  and create the output file "/path/to/input/file_aces.exr" in the same directory.

  .. code-block:: python

    import rawtoaces
    converter = rawtoaces.ImageConverter()
    converter.settings.WB_method == rawtoaces.ImageConverter.Settings.WBMethod.Illuminant
    converter.settings.illuminant = "3200K"
    converter.settings.output_dir = "/path/to/output"
    converter.process_image("/path/to/an/image/file.CR3")

  This will convert the input file "/path/to/input/file.CR3" white-balancing to the colour
  temperature of 3200K, and create the output file "/path/to/output/file_aces.exr" at the provided location.

  .. py:class:: Settings

    The structure containing all parameters needed to configure image conversion.
    This class corresponds to the C++  :cpp:class:`rta::util::ImageConverter::Settings`.

    .. py:class:: WBMethod

      The enumerator containing all supported white-balancing methods::

        Metadata Illuminant Box Custom

      See :cpp:enum:`rta::util::ImageConverter::Settings::WBMethod` for more information on each supported method.

    .. py:attribute:: WBMethod WB_method

      The selected white-balancing method to use for conversion.

    .. py:class:: MatrixMethod

      The enumerator containing all supported colour transform matrix calculation methods::

        Auto Spectral Metadata Adobe Custom

      See :cpp:enum:`rta::util::ImageConverter::Settings::MatrixMethod` for more information on each supported method.

    .. py:attribute:: MatrixMethod matrix_method

      The selected colour transform matrix calculation method to use for conversion.

    .. py:class:: CropMode

      The enumerator containing all supported crop modes::

        Off Soft Hard

      See :cpp:enum:`rta::util::ImageConverter::Settings::CropMode` for more information on each supported mode.

    .. py:attribute:: CropMode crop_mode

      The selected cropping mode to use for conversion.

    .. py:attribute:: str illuminant

      An illuminant to use for white balancing and/or colour matrix calculation.
      See :cpp:member:`rta::util::ImageConverter::Settings::illuminant` for more information.

    .. py:attribute:: float headroom

      Highlight headroom factor.

    .. py:attribute:: str custom_camera_make

      Camera manufacturer name to be used for spectral sensitivity curves lookup.

    .. py:attribute:: str custom_camera_model

      Camera model name to be used for spectral sensitivity curves lookup.

    .. py:attribute:: bool auto_bright

      Enable automatic exposure adjustment.

    .. py:attribute:: bool adjust_maximum_threshold

      Automatically lower the linearity threshold provided in the metadata by this scaling factor.

    .. py:attribute:: float black_level

      If non-negative, override the black level specified in the file metadata.

    .. py:attribute:: float saturation_level

      If non-negative, override the saturation level specified in the file metadata.

    .. py:attribute:: bool half_size

      Decode the image at half size resolution.

    .. py:attribute:: int highlight_mode

      Highlight recovery mode, as supported by OpenImageIO/Libraw.
      0 = clip, 1 = unclip, 2 = blend, 3..9 = rebuild.

    .. py:attribute:: int flip

      If not -1, override the orientation specified in the metadata.
      1..8 correspond to EXIF orientation codes
      (0 = none, 3 = 180 deg, 6 = 90 deg CCW, 8 = 90 deg CW.)

    .. py:attribute:: float denoise_threshold

      Wavelet denoising threshold.

    .. py:attribute:: float scale

      Additional scaling factor to apply to the pixel values.

    .. py:attribute:: str demosaic_algorithm

      Demosaicing algorithm. Supported options::

       linear VNG PPG AHD DCB AHD-Mod AFD VCD Mixed LMMSE AMaZE DHT AAHD AHD'

    .. py:attribute:: list[str] database_directories

      Directory containing rawtoaces spectral sensitivity and illuminant
      data files. Overrides the default search path and the
      RAWTOACES_DATA_PATH environment variable.

    .. py:attribute:: bool overwrite

      Allows overwriting existing files.

    .. py:attribute:: bool create_dirs

      Create output directories if they don't exist.

    .. py:attribute:: str output_dir

      The directory to write the output files to.

    .. py:attribute:: bool use_timing

      Log the execution time of each step of image processing.

    .. py:attribute:: int verbosity

      Verbosity level.

    .. py:attribute:: list[int] WB_box

      Box to use for white balancing when `WB_method` == `WBMethod::Box`,
      (default = (0,0,0,0) - full image).

    .. py:attribute:: list[int] crop_box

      Apply custom crop. If not specified (all values are zeroes),
      the default crop is applied, which should match the crop of the
      in-camera JPEG.

    .. py:attribute:: list[float] custom_WB

      Custom white balance multipliers to be used when
      `WB_method` == `WBMethod::Custom`.

    .. py:attribute:: list[float] custom_matrix

      Custom camera RGB to XYZ matrix to be used when
      `matrix_method` == `MatrixMethod::Custom`.

    .. py:attribute:: list[float] chromatic_aberration

      Red and blue scale factors for chromatic aberration correction.

  .. py:attribute:: Settings settings

    The conversion settings.

  .. py:method:: bool process_image(str)

    A convenience single-call method to process an image.
    See :cpp:func:`rta::util::ImageConverter::process_image` for more information.

  .. py:method:: list[str] get_supported_illuminants()

    Collects all illuminants supported by this version.

  .. py:method:: list[str] get_supported_cameras()

    Collects all camera models for which spectral sensitivity data is available in the database.

  .. py:method:: bool configure(str)

    Configures the converter using the requested white balance and colour matrix method, and the metadata of the file provided in `input_file`.
    See :cpp:func:`rta::util::ImageConverter::configure` for more information.

  .. py:method:: list[float] get_WB_multipliers()

    Get the solved white balance multipliers of the currently processed image.
    See :cpp:func:`rta::util::ImageConverter::get_WB_multipliers` for more information.

  .. py:method:: list[float] get_IDT_matrix()

    Get the solved input transform matrix of the currently processed image.
    See :cpp:func:`rta::util::ImageConverter::get_IDT_matrix` for more information.

  .. py:method:: list[float] get_CAT_matrix()

    Get the solved chromatic adaptation transform matrix of the currently processed image.
    See :cpp:func:`rta::util::ImageConverter::get_CAT_matrix` for more information.

.. py:function:: list[list[str]] collect_image_files(list[str])

  Collect all files from given `paths` into batches.
  See :cpp:func:`rta::util::collect_image_files` for more information.