Skip to main content

rawshift_image/
prelude.rs

1//! Convenience re-exports of the most commonly used types and functions.
2//!
3//! Import everything at once with `use rawshift::prelude::*;`.
4//!
5//! # Contents
6//!
7//! - **`core`** — `RawImage`, `RgbImage`, `Size`, `Rect`, `Point`, `CfaPattern`,
8//!   `ImageMetadata`, `ColorSpace`, `BitDepth`, `CodecInfo`, the generic metadata
9//!   model (`MetadataValue`, `MetadataKey`, `MetadataNamespace`, `MetadataEntry`),
10//!   and related structs.
11//! - **`data`** — Camera color-calibration database (`CameraCalibration`,
12//!   `get_camera_calibration`, `all_cameras`).
13//! - **`error`** — `RawError`, `ParseError`, `FormatError`, `ProcessingError`,
14//!   `EncodeError`, and `RawResult`.
15//! - **`formats`** — `RawFile`, `RawFormat`, `StandardFormat`,
16//!   `decode_standard_image`, `detect_standard_format`,
17//!   `read_standard_image_metadata`, `DngExportConfig`, `EncodeOptions`,
18//!   `CommonEncodeOptions`, `OutputFormat`, and the per-backend encode configs.
19//! - **`processing`** — `ProcessingOptions` and demosaicing types.
20//! - **`tiff`** — `TiffParser`, `TiffTag`, `TiffValue`, and related TIFF types.
21//! - **`transforms`** — `apply_black_level`, `apply_white_balance`,
22//!   `apply_white_balance_raw`, `apply_color_matrix`, `apply_tone_reproduction`,
23//!   `apply_tonemap`, `compute_camera_to_srgb`, `ColorSpaceTransform`, and more.
24
25// core
26pub use crate::core::image::{CfaPattern, RawImage, Rect, RgbImage, Size, XTransPattern};
27pub use crate::core::metadata::{
28    CameraInfo, DateTimeInfo, DngCalibrationInfo, DngColorInfo, DngProfileInfo, ExifInfo, GpsInfo,
29    ImageInfo, ImageMetadata, MetadataEntry, MetadataExtractor, MetadataKey, MetadataNamespace,
30    MetadataValue,
31};
32pub use crate::core::pixel::{
33    FromF32, Rgb, Rgb8, Rgb16, RgbF32, Rgba, Rgba8, Rgba16, RgbaF32, Sample,
34};
35pub use crate::core::{CodecDirection, CodecId, CodecInfo, ColorSpace, IccProfile};
36
37// data
38pub use crate::data::cameras::find_camera_calibration;
39#[allow(deprecated)]
40pub use crate::data::cameras::{CameraCalibration, all_cameras, get_camera_calibration};
41
42// error
43pub use crate::error::{
44    EncodeError, FormatError, ParseError, ProcessingError, RawError, RawResult,
45};
46
47// formats — encode option system
48pub use crate::formats::export::{
49    BitDepth, CommonEncodeOptions, EncodeOptions, JpegEncEncodeConfig, LibjxlColorTransform,
50    LibjxlEncodeConfig, LibjxlModular, LibwebpEncodeConfig, MetadataEmbedOptions, OutputFormat,
51    RavifEncodeConfig, WebPMode, ZuneJxlEncodeConfig, ZunePngEncodeConfig,
52};
53// formats — decoders, format detection, encode/decode entry points
54pub use crate::formats::{
55    DecodeOptions, GifDecodeConfig, ImageAvifDecodeConfig, ImageProbe, JxlOxideDecodeConfig,
56    LibheifDecodeConfig, LibwebpDecodeConfig, ResvgDecodeConfig, StandardFormat, TiffDecodeConfig,
57    ZuneJpegDecodeConfig, ZunePngDecodeConfig, available_decoders, available_encoders,
58    decode_standard_image, decode_standard_image_with, detect_standard_format, encode_rgb_image,
59    encode_rgb_image_to_vec, encode_rgb_image_to_writer, probe_standard_image,
60    read_standard_image_metadata,
61};
62
63#[cfg(feature = "jxl-decode")]
64pub use crate::formats::decode_jxl_partial;
65
66#[cfg(any_raw)]
67pub use crate::formats::{RawFile, RawFormat};
68
69#[cfg(feature = "heic-decode")]
70pub use crate::formats::{HeicAuxImage, HeicAuxKind, HeicFile};
71
72#[cfg(feature = "dng-encode")]
73pub use crate::formats::{DngExportConfig, export_dng};
74
75// processing
76pub use crate::processing::{
77    BayerAlgorithm, Demosaic, DemosaicMethod, ProcessingOptions, XTransAlgorithm,
78};
79
80// tiff
81#[cfg(feature = "tiff-parser")]
82pub use crate::tiff::{
83    ByteOrder, Ifd, IfdEntry, Rational, SRational, TiffParser, TiffTag, TiffValue, TiffWriter,
84};
85
86// transforms
87pub use crate::transforms::{
88    BadPixelCorrectionMode, ColorSpaceTransform, ColorTemperature, apply_bad_pixel_correction,
89    apply_bilateral_filter, apply_black_level, apply_ca_correction, apply_color_matrix, apply_crop,
90    apply_gains_rgb, apply_gaussian_blur, apply_matrix_rgb, apply_orientation,
91    apply_tone_reproduction, apply_tonemap, apply_white_balance, apply_white_balance_raw,
92    compute_camera_to_srgb, convert_to_srgb, correct_bad_pixels, detect_bad_pixels,
93    estimate_cct_from_as_shot_neutral, flip_horizontal, flip_vertical, interpolate_color_matrix,
94    rotate_90_ccw, rotate_90_cw, rotate_180, subtract_black_level_uniform,
95};