def create_test_image(): # set up test image with something interesting in the tested aux # channel. nine_grid_deltas = [ (-1, -1), (-1, 0), (-1, 1), ( 0, -1), ( 0, 0), ( 0, 1), ( 1, -1), ( 1, 0), ( 1, 1), ] chans = [] bands = ImageMode.getmode(mode).bands for band_ndx in range(len(bands)): channel_type = 'L' # 8-bit unorm channel_pattern = hopper(channel_type) # paste pattern with varying offsets to avoid correlation # potentially hiding some bugs (like channels getting mixed). paste_offset = ( int(band_ndx / float(len(bands)) * channel_pattern.size[0]), int(band_ndx / float(len(bands) * 2) * channel_pattern.size[1]) ) channel_data = Image.new(channel_type, channel_pattern.size) for delta in nine_grid_deltas: channel_data.paste(channel_pattern, tuple(paste_offset[c] + delta[c]*channel_pattern.size[c] for c in range(2))) chans.append(channel_data) return Image.merge(mode, chans)
def __init__(self, default_factory, *args, **kwargs): if default_factory is None: default_factory = NOOp if not callable(default_factory): raise AttributeError( "ChannelFork() requires a callable default_factory.") self.channels = ImageMode.getmode( kwargs.pop('mode', self.default_mode)) super(ChannelFork, self).__init__(default_factory, *args, **kwargs)
from tester import * from PIL import Image from PIL import ImageMode ImageMode.getmode("1") ImageMode.getmode("L") ImageMode.getmode("P") ImageMode.getmode("RGB") ImageMode.getmode("I") ImageMode.getmode("F") m = ImageMode.getmode("1") assert_equal(m.mode, "1") assert_equal(m.bands, ("1",)) assert_equal(m.basemode, "L") assert_equal(m.basetype, "L") m = ImageMode.getmode("RGB") assert_equal(m.mode, "RGB") assert_equal(m.bands, ("R", "G", "B")) assert_equal(m.basemode, "RGB") assert_equal(m.basetype, "L")
def test_sanity(self): im = hopper() im.mode from PIL import ImageMode ImageMode.getmode("1") ImageMode.getmode("L") ImageMode.getmode("P") ImageMode.getmode("RGB") ImageMode.getmode("I") ImageMode.getmode("F") m = ImageMode.getmode("1") self.assertEqual(m.mode, "1") self.assertEqual(m.bands, ("1",)) self.assertEqual(m.basemode, "L") self.assertEqual(m.basetype, "L") m = ImageMode.getmode("RGB") self.assertEqual(m.mode, "RGB") self.assertEqual(m.bands, ("R", "G", "B")) self.assertEqual(m.basemode, "RGB") self.assertEqual(m.basetype, "L")
def test_sanity(self): ImageMode.getmode("1") ImageMode.getmode("L") ImageMode.getmode("P") ImageMode.getmode("RGB") ImageMode.getmode("I") ImageMode.getmode("F") m = ImageMode.getmode("1") self.assertEqual(m.mode, "1") self.assertEqual(m.bands, ("1",)) self.assertEqual(m.basemode, "L") self.assertEqual(m.basetype, "L") m = ImageMode.getmode("RGB") self.assertEqual(m.mode, "RGB") self.assertEqual(m.bands, ("R", "G", "B")) self.assertEqual(m.basemode, "RGB") self.assertEqual(m.basetype, "L")
def test_sanity(self): im = hopper() im.mode from PIL import ImageMode ImageMode.getmode("1") ImageMode.getmode("L") ImageMode.getmode("P") ImageMode.getmode("RGB") ImageMode.getmode("I") ImageMode.getmode("F") m = ImageMode.getmode("1") self.assertEqual(m.mode, "1") self.assertEqual(str(m), "1") self.assertEqual(m.bands, ("1", )) self.assertEqual(m.basemode, "L") self.assertEqual(m.basetype, "L") m = ImageMode.getmode("RGB") self.assertEqual(m.mode, "RGB") self.assertEqual(str(m), "RGB") self.assertEqual(m.bands, ("R", "G", "B")) self.assertEqual(m.basemode, "RGB") self.assertEqual(m.basetype, "L")
import contextlib import numpy import os from PIL import Image, ImageMode from enum import auto, unique from clu.constants.consts import DEBUG, ENCODING from clu.enums import alias, AliasingEnum from clu.naming import split_abbreviations from clu.predicates import attr, getpyattr, isclasstype, or_none from clu.typespace.namespace import Namespace from clu.typology import string_types junkdrawer = Namespace() junkdrawer.imode = lambda image: ImageMode.getmode(image.mode) ImageMode.getmode('RGB') # one call must be made to getmode() # to properly initialize ImageMode._modes: junkdrawer.modes = ImageMode._modes junkdrawer.types = Image._MODE_CONV junkdrawer.ismap = Image._MAPMODES mode_strings = tuple(junkdrawer.modes.keys()) dtypes_for_modes = {k: v[0] for k, v in junkdrawer.types.items()} junkdrawer.idxmode = lambda idx: ImageMode.getmode(mode_strings[idx]) junkdrawer.is_mapped = lambda mode: mode in junkdrawer.ismap
def test_sanity(self): im = hopper() im.mode from PIL import ImageMode ImageMode.getmode("1") ImageMode.getmode("L") ImageMode.getmode("P") ImageMode.getmode("RGB") ImageMode.getmode("I") ImageMode.getmode("F") m = ImageMode.getmode("1") self.assertEqual(m.mode, "1") self.assertEqual(str(m), "1") self.assertEqual(m.bands, ("1",)) self.assertEqual(m.basemode, "L") self.assertEqual(m.basetype, "L") for mode in ( "I;16", "I;16S", "I;16L", "I;16LS", "I;16B", "I;16BS", "I;16N", "I;16NS", ): m = ImageMode.getmode(mode) self.assertEqual(m.mode, mode) self.assertEqual(str(m), mode) self.assertEqual(m.bands, ("I",)) self.assertEqual(m.basemode, "L") self.assertEqual(m.basetype, "L") m = ImageMode.getmode("RGB") self.assertEqual(m.mode, "RGB") self.assertEqual(str(m), "RGB") self.assertEqual(m.bands, ("R", "G", "B")) self.assertEqual(m.basemode, "RGB") self.assertEqual(m.basetype, "L")
def _set_mode(self, mode_string): self.channels = ImageMode.getmode(mode_string)
#!/usr/bin/env python # encoding: utf-8 from __future__ import print_function import contextlib import numpy import os from PIL import Image, ImageMode from enum import auto, unique from instakit.abc import Enum from instakit.utils import misc junkdrawer = misc.Namespace() junkdrawer.imode = lambda image: ImageMode.getmode(image.mode) def split_abbreviations(s): """ Split a string into a tuple of its unique constituents, based on its internal capitalization -- to wit: >>> split_abbreviations('RGB') ('R', 'G', 'B') >>> split_abbreviations('CMYK') ('C', 'M', 'Y', 'K') >>> split_abbreviations('YCbCr') ('Y', 'Cb', 'Cr') >>> split_abbreviations('sRGB') ('R', 'G', 'B') >>> split_abbreviations('XYZZ') ('X', 'Y', 'Z')
def test_sanity(): with hopper() as im: im.mode from PIL import ImageMode ImageMode.getmode("1") ImageMode.getmode("L") ImageMode.getmode("P") ImageMode.getmode("RGB") ImageMode.getmode("I") ImageMode.getmode("F") m = ImageMode.getmode("1") assert m.mode == "1" assert str(m) == "1" assert m.bands == ("1", ) assert m.basemode == "L" assert m.basetype == "L" for mode in ( "I;16", "I;16S", "I;16L", "I;16LS", "I;16B", "I;16BS", "I;16N", "I;16NS", ): m = ImageMode.getmode(mode) assert m.mode == mode assert str(m) == mode assert m.bands == ("I", ) assert m.basemode == "L" assert m.basetype == "L" m = ImageMode.getmode("RGB") assert m.mode == "RGB" assert str(m) == "RGB" assert m.bands == ("R", "G", "B") assert m.basemode == "RGB" assert m.basetype == "L"