Spaces:
Runtime error
Runtime error
File size: 1,665 Bytes
c19ca42 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
from enum import Enum
from typing import Dict
from chainner_ext import DiffusionAlgorithm
class ErrorDiffusionMap(Enum):
FLOYD_STEINBERG = "FS"
JARVIS_ET_AL = "JJN"
STUCKI = "ST"
ATKINSON = "A"
BURKES = "B"
SIERRA = "S"
TWO_ROW_SIERRA = "S2"
SIERRA_LITE = "SL"
ERROR_PROPAGATION_MAP_LABELS = {
ErrorDiffusionMap.FLOYD_STEINBERG: "Floyd-Steinberg",
ErrorDiffusionMap.JARVIS_ET_AL: "Jarvis, Judice, and Ninke",
ErrorDiffusionMap.STUCKI: "Stucki",
ErrorDiffusionMap.ATKINSON: "Atkinson",
ErrorDiffusionMap.BURKES: "Burkes",
ErrorDiffusionMap.SIERRA: "Sierra",
ErrorDiffusionMap.TWO_ROW_SIERRA: "Two Row Sierra",
ErrorDiffusionMap.SIERRA_LITE: "Sierra Lite",
}
DIFFUSION_ALGORITHM_MAP: Dict[ErrorDiffusionMap, DiffusionAlgorithm] = {
ErrorDiffusionMap.FLOYD_STEINBERG: DiffusionAlgorithm.FloydSteinberg,
ErrorDiffusionMap.JARVIS_ET_AL: DiffusionAlgorithm.JarvisJudiceNinke,
ErrorDiffusionMap.STUCKI: DiffusionAlgorithm.Stucki,
ErrorDiffusionMap.ATKINSON: DiffusionAlgorithm.Atkinson,
ErrorDiffusionMap.BURKES: DiffusionAlgorithm.Burkes,
ErrorDiffusionMap.SIERRA: DiffusionAlgorithm.Sierra,
ErrorDiffusionMap.TWO_ROW_SIERRA: DiffusionAlgorithm.TwoRowSierra,
ErrorDiffusionMap.SIERRA_LITE: DiffusionAlgorithm.SierraLite,
}
# https://en.wikipedia.org/wiki/Ordered_dithering
class ThresholdMap(Enum):
BAYER_2 = "B2"
BAYER_4 = "B4"
BAYER_8 = "B8"
BAYER_16 = "B16"
THRESHOLD_MAP_LABELS = {
ThresholdMap.BAYER_2: "Bayer 2x2",
ThresholdMap.BAYER_4: "Bayer 4x4",
ThresholdMap.BAYER_8: "Bayer 8x8",
ThresholdMap.BAYER_16: "Bayer 16x16",
}
|