Oyranos  0.9.7
Oyranos is a full featured Color Management System
Functions
oyranos_cmm_oyra_image_channel.c File Reference

Channel selection module for Oyranos. More...

#include "oyCMMapi4_s.h"
#include "oyCMMapi7_s.h"
#include "oyCMMui_s.h"
#include "oyConnectorImaging_s.h"
#include "oyRectangle_s.h"
#include "oyRectangle_s_.h"
#include "oyranos_cmm.h"
#include "oyranos_cmm_oyra.h"
#include "oyranos_db.h"
#include "oyranos_helper.h"
#include "oyranos_i18n.h"
#include "oyranos_string.h"
#include <math.h>
#include <stdarg.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <locale.h>

Functions

int oyraFilter_ImageChannelRun (oyFilterPlug_s *requestor_plug, oyPixelAccess_s *ticket)
 implement oyCMMFilter_GetNext_f() More...
 
oyCMMapi_soyraApi7ImageChannelCreate (void)
 oyra oyCMMapi7_s implementation More...
 
oyCMMapi_soyraApi4ImageChannelCreate (void)
 oyra oyCMMapi4_s implementation More...
 

Detailed Description

Channel selection module for Oyranos.

Oyranos is an open source Color Management System

Copyright:
2016 (C) Kai-Uwe Behrmann

Function Documentation

oyCMMapi_s* oyraApi4ImageChannelCreate ( void  )

oyra oyCMMapi4_s implementation

oyra_api4 a filter providing a channel image filter

Version
Oyranos: 0.9.6
Date
2016/04/04
Since
2016/04/04 (Oyranos: 0.9.6)

References oyraCMMInit(), oyraCMMMessageFuncSet(), OYRANOS_VERSION_A, OYRANOS_VERSION_B, and OYRANOS_VERSION_C.

Referenced by oyraGetText().

oyCMMapi_s* oyraApi7ImageChannelCreate ( void  )
int oyraFilter_ImageChannelRun ( oyFilterPlug_s requestor_plug,
oyPixelAccess_s ticket 
)

implement oyCMMFilter_GetNext_f()

oyraFilter_ImageChannelRun The "channel" option is build of channel fields. It contains the output section in one text string each in squared brackets: "[a|b|c]". Each channel is separated by pipe sign '|' and can contain the channel symbol or a fill value. -1 indicates the module shall select a appropriate fill value. The counting of channels starts from a and ends with z, covering the range of ASCII a-z. A special case is a "" no op signature. Use it for pass through.

With the above syntax it is possible to add or remove channels or simply switch channels of.

switch the second and thierd channels of: ["a", -1, -1]

swap first with thierd channel: ["c", "b". "a"]

duplicate the second channel and skip the first and possible the c and more source channels: ["b", "b"]

Note: changing the channel count might require a new ICC profile for the output image. Please setup the graph accordingly.

Version
Oyranos: 0.9.6
Date
2016/04/04
Since
2016/04/04 (Oyranos: 0.9.6)

References oy_debug, OY_TYPE_STD, oyArray2d_s::oyArray2d_GetData(), oyArray2d_s::oyArray2d_GetHeight(), oyArray2d_s::oyArray2d_GetWidth(), oyDataTypeGetSize(), oyDOUBLE, oyFilterNode_s::oyFilterNode_GetOptions(), oyFilterNode_s::oyFilterNode_GetPlug(), oyFilterNode_s::oyFilterNode_GetPlugNode(), oyFilterNode_s::oyFilterNode_Run(), oyFilterPlug_s::oyFilterPlug_GetSocket(), oyFilterSocket_s::oyFilterSocket_GetData(), oyFilterSocket_s::oyFilterSocket_GetNode(), oyFLOAT, oyHALF, oyImage_s::oyImage_GetPixelLayout(), oyImage_s::oyImage_GetWidth(), oyjl_tree_free(), oyjl_tree_parse(), oyjl_value_count(), oyjl_value_pos_get(), oyLAYOUT, oyOBJECT_RECTANGLE_S, oyOptions_s::oyOptions_FindString(), oyOptions_s::oyOptions_Release(), oyPixelAccess_s::oyPixelAccess_GetArray(), oyPixelAccess_s::oyPixelAccess_GetArrayROI(), oyPixelAccess_s::oyPixelAccess_GetOutputImage(), oyPixelAccess_s::oyPixelAccess_Show(), oyRectangle_s::oyRectangle_Scale(), oyRectangle_s::oyRectangle_SetByRectangle(), oyToChannels_m, oyToDataType_m, oyUINT16, oyUINT32, and oyUINT8.

Referenced by oyraApi7ImageChannelCreate().