def convert_via_profile(self, data_np, order, inprof_name, outprof_name):
        """Convert the given RGB data from the working ICC profile
        to the output profile in-place.

        Parameters
        ----------
        data_np : ndarray
            RGB image data to be displayed.

        order : str
            Order of channels in the data (e.g. "BGRA").

        inprof_name, outprof_name : str
            ICC profile names (see :func:`ginga.util.rgb_cms.get_profiles`).

        """
        # get rest of necessary conversion parameters
        to_intent = self.t_.get('icc_output_intent', 'perceptual')
        proofprof_name = self.t_.get('icc_proof_profile', None)
        proof_intent = self.t_.get('icc_proof_intent', 'perceptual')
        use_black_pt = self.t_.get('icc_black_point_compensation', False)

        try:
            rgbobj = RGBMap.RGBPlanes(data_np, order)
            arr_np = rgbobj.get_array('RGB')

            arr = rgb_cms.convert_profile_fromto(arr_np, inprof_name, outprof_name,
                                                 to_intent=to_intent,
                                                 proof_name=proofprof_name,
                                                 proof_intent=proof_intent,
                                                 use_black_pt=use_black_pt,
                                                 logger=self.logger)
            ri, gi, bi = rgbobj.get_order_indexes('RGB')

            out = data_np
            out[..., ri] = arr[..., 0]
            out[..., gi] = arr[..., 1]
            out[..., bi] = arr[..., 2]

            self.logger.debug("Converted from '%s' to '%s' profile" % (
                inprof_name, outprof_name))

        except Exception as e:
            self.logger.warning("Error converting output from working profile: %s" % (str(e)))
            # TODO: maybe should have a traceback here
            self.logger.info("Output left unprofiled")
def convert_via_profile ( self , data_np , order , inprof_name , outprof_name ) : to_intent = self . t_ . get ( 'icc_output_intent' , 'perceptual' ) proofprof_name = self . t_ . get ( 'icc_proof_profile' , None ) proof_intent = self . t_ . get ( 'icc_proof_intent' , 'perceptual' ) use_black_pt = self . t_ . get ( 'icc_black_point_compensation' , False ) try : rgbobj = RGBMap . RGBPlanes ( data_np , order ) arr_np = rgbobj . get_array ( 'RGB' ) arr = rgb_cms . convert_profile_fromto ( arr_np , inprof_name , outprof_name , to_intent = to_intent , proof_name = proofprof_name , proof_intent = proof_intent , use_black_pt = use_black_pt , logger = self . logger ) ri , gi , bi = rgbobj . get_order_indexes ( 'RGB' ) out = data_np out [ ... , ri ] = arr [ ... , 0 ] out [ ... , gi ] = arr [ ... , 1 ] out [ ... , bi ] = arr [ ... , 2 ] self . logger . debug ( "Converted from '%s' to '%s' profile" % ( inprof_name , outprof_name ) ) except Exception as e : self . logger . warning ( "Error converting output from working profile: %s" % ( str ( e ) ) ) self . logger . info ( "Output left unprofiled" )
Convert the given RGB data from the working ICC profile
        to the output profile in-place.

        Parameters
        ----------
        data_np : ndarray
            RGB image data to be displayed.

        order : str
            Order of channels in the data (e.g. "BGRA").

        inprof_name, outprof_name : str
            ICC profile names (see :func:`ginga.util.rgb_cms.get_profiles`).