Current section

Files

Jump to
xberg lib xberg image_preprocessing_config.ex
Raw

lib/xberg/image_preprocessing_config.ex

# This file is auto-generated by alef — DO NOT EDIT.
# alef:hash:b2c29ab80fb9cdb8c5190a7808ad862ad890f416ad887092447b282a5b1b69e0
# To regenerate: alef generate
# To verify freshness: alef verify --exit-code
defmodule Xberg.ImagePreprocessingConfig do
@moduledoc """
Image preprocessing configuration for OCR.
These settings control how images are preprocessed before OCR to improve
text recognition quality. Different preprocessing strategies work better
for different document types.
"""
@typedoc "Image preprocessing configuration for OCR."
@type t :: %__MODULE__{
target_dpi: integer(),
auto_rotate: boolean(),
deskew: boolean(),
denoise: boolean(),
contrast_enhance: boolean(),
binarization_method: String.t() | nil,
invert_colors: boolean()
}
defstruct target_dpi: 300,
auto_rotate: false,
deskew: true,
denoise: false,
contrast_enhance: false,
binarization_method: "otsu",
invert_colors: false
defimpl Jason.Encoder do
@doc false
def encode(value, opts) do
value
|> Map.from_struct()
|> Enum.reject(fn {_k, v} -> v == nil end)
|> Enum.into(%{})
|> Jason.Encoder.encode(opts)
end
end
end