Пример #1
0
    def reference_colourspace(self, value):
        """
        Setter for **self.__reference_colourspace** private attribute.

        Parameters
        ----------
        value : unicode
            Attribute value.
        """

        if value is not None:
            assert type(value) in (str, unicode), (
                ('"{0}" attribute: "{1}" type is not '
                 '"str" or "unicode"!').format('reference_colourspace', value))
            assert value in REFERENCE_COLOURSPACES, (
                '"{0}" reference colourspace not found in factory reference '
                'colourspaces: "{1}".').format(
                value, ', '.join(sorted(REFERENCE_COLOURSPACES.keys())))

        self.__reference_colourspace = value

        if self.__initialised:
            self.__store_visuals_visibility()
            self.__detach_visuals()
            self.__create_visuals()
            self.__attach_visuals()
            self.__restore_visuals_visibility()
            self.__create_camera()
            self.__title_overlay_visual_text()
Пример #2
0
    def reference_colourspace(self, value):
        """
        Setter for **self._reference_colourspace** private attribute.

        Parameters
        ----------
        value : unicode
            Attribute value.
        """

        if value is not None:
            assert is_string(value), (('"{0}" attribute: "{1}" is not a '
                                       '"string" like object!').format(
                                           'reference_colourspace', value))
            assert value in REFERENCE_COLOURSPACES, (
                '"{0}" reference colourspace not found in factory reference '
                'colourspaces: "{1}".').format(
                    value, ', '.join(sorted(REFERENCE_COLOURSPACES.keys())))

        self._reference_colourspace = value

        if self._initialised:
            self._store_visuals_visibility()
            self._detach_visuals()
            self._create_visuals()
            self._attach_visuals()
            self._restore_visuals_visibility()
            self._create_camera()
            self._label_text()
Пример #3
0
    def reference_colourspace(self, value):
        """
        Setter for **self._reference_colourspace** private attribute.

        Parameters
        ----------
        value : unicode
            Attribute value.
        """

        if value is not None:
            assert is_string(value), (('"{0}" attribute: "{1}" is not a '
                                       '"string" like object!').format(
                                           'reference_colourspace', value))
            assert value in REFERENCE_COLOURSPACES, (
                '"{0}" reference colourspace not found in factory reference '
                'colourspaces: "{1}".').format(value, ', '.join(
                    sorted(REFERENCE_COLOURSPACES.keys())))

        self._reference_colourspace = value

        if self._initialised:
            self._store_visuals_visibility()
            self._detach_visuals()
            self._create_visuals()
            self._attach_visuals()
            self._restore_visuals_visibility()
            self._create_camera()
            self._label_text()
Пример #4
0
    def reference_colourspace(self, value):
        """
        Setter for **self._reference_colourspace** private attribute.

        Parameters
        ----------
        value : unicode
            Attribute value.
        """

        if value is not None:
            assert is_string(value), (('"{0}" attribute: "{1}" is not a '
                                       '"string" like object!').format(
                                           'reference_colourspace', value))
            assert value in REFERENCE_COLOURSPACES, (
                '"{0}" reference colourspace not found in factory reference '
                'colourspaces: "{1}".').format(value, ', '.join(
                    sorted(REFERENCE_COLOURSPACES.keys())))
        self._reference_colourspace = value
Пример #5
0
    def reference_colourspace(self, value):
        """
        Setter for **self._reference_colourspace** private attribute.

        Parameters
        ----------
        value : unicode
            Attribute value.
        """

        if value is not None:
            assert is_string(value), (('"{0}" attribute: "{1}" is not a '
                                       '"string" like object!').format(
                                           'reference_colourspace', value))
            assert value in REFERENCE_COLOURSPACES, (
                '"{0}" reference colourspace not found in factory reference '
                'colourspaces: "{1}".').format(value, ', '.join(
                    sorted(REFERENCE_COLOURSPACES.keys())))
        self._reference_colourspace = value
Пример #6
0
    def __init__(self,
                 image=None,
                 image_path=None,
                 input_colourspace='ITU-R BT.709',
                 input_oecf='ITU-R BT.709',
                 input_linear=True,
                 reference_colourspace='CIE xyY',
                 correlate_colourspace='ACEScg',
                 settings=None,
                 layout='layout_1'):
        self._initialised = False

        title = '{0} - {1}'.format(__application_name__, __version__)

        SceneCanvas.__init__(
            self,
            keys='interactive',
            title=('{0} - {1}'.format(title, image_path)
                   if image_path is not None else title),
            size=settings['scene_canvas']['size'],
            bgcolor=settings['scene_canvas']['scene_canvas_background_colour'],
            config={'samples': settings['scene_canvas']['samples']})

        self.unfreeze()

        self._image = None
        self.image = image if image is not None else DEFAULT_FAILSAFE_IMAGE
        self._image_path = None
        self.image_path = image_path
        self._input_colourspace = None
        self.input_colourspace = input_colourspace
        self._input_oecf = None
        self.input_oecf = input_oecf
        self._input_linear = None
        self.input_linear = input_linear
        self._reference_colourspace = None
        self.reference_colourspace = reference_colourspace
        self._correlate_colourspace = None
        self.correlate_colourspace = correlate_colourspace
        self._settings = (json.load(open(SETTINGS_FILE))
                          if settings is None else settings)
        self._layout = None
        self.layout = layout

        self._clamp_blacks = False
        self._clamp_whites = False

        self._layout_presets = OrderedDict()
        self._actions = {}

        self._console_view = None
        self._gamut_view = None
        self._image_view = None
        self._diagram_view = None
        self._views = None

        self._grid = None

        self._RGB_colourspaces_cycle = cycle([
            c for c in sorted(RGB_COLOURSPACES)
            if c not in ('aces', 'adobe1998', 'prophoto')
        ])

        reference_colourspaces_deque = deque(REFERENCE_COLOURSPACES)
        reference_colourspaces_deque.rotate(
            -REFERENCE_COLOURSPACES.index(self._reference_colourspace) - 1)
        self._reference_colourspaces_cycle = cycle(
            reference_colourspaces_deque)

        self._create_layout_presets()
        self._create_actions()
        self._create_views()
        self._layout_views()

        self.show()

        self._initialised = True
Пример #7
0
    def __init__(self,
                 image=None,
                 image_path=None,
                 input_colourspace='ITU-R BT.709',
                 input_oecf='ITU-R BT.709',
                 input_linear=True,
                 reference_colourspace='CIE xyY',
                 correlate_colourspace='ACEScg',
                 settings=None,
                 layout='layout_1'):
        self._initialised = False

        title = '{0} - {1}'.format(__application_name__, __version__)

        SceneCanvas.__init__(
            self,
            keys='interactive',
            title=('{0} - {1}'.format(title, image_path)
                   if image_path is not None else title),
            size=settings['scene_canvas']['size'],
            bgcolor=settings['scene_canvas']['scene_canvas_background_colour'],
            config={'samples': settings['scene_canvas']['samples']})

        self.unfreeze()

        self._image = None
        self.image = image if image is not None else DEFAULT_FAILSAFE_IMAGE
        self._image_path = None
        self.image_path = image_path
        self._input_colourspace = None
        self.input_colourspace = input_colourspace
        self._input_oecf = None
        self.input_oecf = input_oecf
        self._input_linear = None
        self.input_linear = input_linear
        self._reference_colourspace = None
        self.reference_colourspace = reference_colourspace
        self._correlate_colourspace = None
        self.correlate_colourspace = correlate_colourspace
        self._settings = (json.load(open(SETTINGS_FILE))
                          if settings is None else settings)
        self._layout = None
        self.layout = layout

        self._clamp_blacks = False
        self._clamp_whites = False

        self._layout_presets = OrderedDict()
        self._actions = {}

        self._console_view = None
        self._gamut_view = None
        self._image_view = None
        self._diagram_view = None
        self._views = None

        self._grid = None

        self._RGB_colourspaces_cycle = cycle([
            c for c in sorted(RGB_COLOURSPACES)
            if c not in ('aces', 'adobe1998', 'prophoto')
        ])

        reference_colourspaces_deque = deque(REFERENCE_COLOURSPACES)
        reference_colourspaces_deque.rotate(
            -REFERENCE_COLOURSPACES.index(self._reference_colourspace) - 1)
        self._reference_colourspaces_cycle = cycle(
            reference_colourspaces_deque)

        self._create_layout_presets()
        self._create_actions()
        self._create_views()
        self._layout_views()

        self.show()

        self._initialised = True