Oyranos Colour Management System API
Public Member Functions | Data Fields
oyConversion_s Struct Reference

a filter chain or graph to manipulate a image More...

#include <oyranos_alpha.h>

Collaboration diagram for oyConversion_s:
Collaboration graph

Public Member Functions

oyConversion_soyConversion_New (oyObject_s object)
 allocate and initialise a new oyConversion_s object
oyConversion_soyConversion_CreateBasicPixels (oyImage_s *input, oyImage_s *output, oyOptions_s *options, oyObject_s object)
 allocate initialise a basic oyConversion_s object
oyConversion_soyConversion_Copy (oyConversion_s *conversion, oyObject_s object)
 copy or reference a oyConversion_s object
int oyConversion_Release (oyConversion_s **obj)
 release and zero a conversion object
int oyConversion_Set (oyConversion_s *conversion, oyFilterNode_s *input, oyFilterNode_s *output)
 set input and output of a conversion graph
int oyConversion_RunPixels (oyConversion_s *conversion, oyPixelAccess_s *pixel_access)
 iterate over a conversion graph
int oyPixelAccess_ChangeRectangle (oyPixelAccess_s *pixel_access, double start_x, double start_y, oyRectangle_s *output_rectangle)
 change the ticket for a conversion graph
int oyConversion_GetOnePixel (oyConversion_s *conversion, double x, double y, oyPixelAccess_s *pixel_access)
 compute one pixel at the given position
oyImage_soyConversion_GetImage (oyConversion_s *conversion, uint32_t flags)
 get a image copy at the desired position
oyFilterNode_soyConversion_GetNode (oyConversion_s *conversion, uint32_t flags)
 get the filter node copy
oyFilterGraph_soyConversion_GetGraph (oyConversion_s *conversion)
 get the filter graph from a conversion context
char * oyConversion_ToText (oyConversion_s *conversion, const char *head_line, int reserved, oyAlloc_f allocateFunc)
 text description of a conversion graph
int oyConversion_Correct (oyConversion_s *conversion, const char *registration, uint32_t flags, oyOptions_s *options)
 check for correctly adhering to policies

Data Fields

oyStruct_Copy_f copy
oyStruct_Release_f release
oyFilterNode_sinput

Detailed Description

a filter chain or graph to manipulate a image

Order of filters matters. The processing direction is a bit like raytracing as nodes request their parent.

The graph is allowed to be a directed graph without cycles.

dot_inline_dotgraph_11.png

oyConversion_s shall provide access to the graph and help in processing and managing nodes.

dot_inline_dotgraph_12.png

Creating Graphs:
Most simple is to use the oyConversion_CreateBasicPixles() function to create a profile to profile and possible image buffer to image buffer linear graph.
The other possibility is to create a non linear graph. The input member can be accessed for this directly.

While it would be possible to have several open ends in a graph, there are two endpoints considered as special. The input member prepresents the top most required node to be provided in a oyConversion_s graph. The input node is accessible for user manipulation. The other one is the out_ member. It is the closing node in the graph. It will be set by Oyranos during closing the graph, e.g. in oyConversion_LinOutputAdd().

Using Graphs:
To obtain the data the oyConversion_GetNextPixel() and oyConversion_GetOnePixel() functions are available.

dot_inline_dotgraph_13.png
Version:
Oyranos: 0.1.8
Since:
2008/06/08 (Oyranos: 0.1.8)
Date:
2008/06/08

Field Documentation

oyStruct_Copy_f oyConversion_s::copy

copy function

oyFilterNode_s* oyConversion_s::input

the input image filter; Most users will start logically with this pice and chain their filters to get the final result.

Referenced by oyConversion_Correct(), oyConversion_GetGraph(), oyConversion_GetImage(), oyConversion_GetNode(), oyConversion_Release(), oyConversion_RunPixels(), oyConversion_Set(), and oyConversion_ToText().

oyStruct_Release_f oyConversion_s::release

release function

Referenced by oyConversion_New().