![]() |
Oyranos
git-devel
Oyranos is a full featured Color Management System
|
A reference struct to gather information for image transformation. More...
#include <oyImage_s.h>


Public Types | |
| typedef oyPointer(* | oyImage_GetPoint_f) (oyImage_s *image, int point_x, int point_y, int channel, int *is_allocated) |
| pixel accessor More... | |
| typedef int(* | oyImage_SetPoint_f) (oyImage_s *image, int point_x, int point_y, int channel, oyPointer data) |
| pixel setter More... | |
Public Member Functions | |
| OYAPI oyImage_s *OYEXPORT | oyImage_New (oyObject_s object) |
| allocate a new Image object More... | |
| OYAPI oyImage_s *OYEXPORT | oyImage_Copy (oyImage_s *image, oyObject_s object) |
| Copy or Reference a Image object. More... | |
| OYAPI int OYEXPORT | oyImage_Release (oyImage_s **image) |
| release and possibly deallocate a oyImage_s object More... | |
| oyPointer | oyImage_GetArray2dPointContinous (oyImage_s *image, int point_x, int point_y, int channel, int *is_allocated) |
| Continous layout pixel accessor. More... | |
| oyPointer | oyImage_GetArray2dLineContinous (oyImage_s *image, int point_y, int *height, int channel OY_UNUSED, int *is_allocated) |
| Continous layout line accessor. More... | |
| int | oyImage_SetArray2dPointContinous (oyImage_s *image, int point_x, int point_y, int channel, oyPointer data) |
| Continous layout pixel accessor. More... | |
| oyImage_s * | oyImage_Create (int width, int height, oyPointer pixels, oyPixel_t pixel_layout, oyProfile_s *profile, oyObject_s object) |
| collect infos about a image More... | |
| oyImage_s * | oyImage_CreateForDisplay (int width, int height, oyPointer channels, oyPixel_t pixel_layout, const char *display_name, int display_pos_x, int display_pos_y, int display_width, int display_height, int icc_profile_flags, oyObject_s object) |
| collect infos about a image for showing one a display More... | |
| int | oyImage_SetCritical (oyImage_s *image, oyPixel_t pixel_layout, oyProfile_s *profile, oyOptions_s *tags, int width, int height) |
| Set a image. More... | |
| int | oyImage_FillArray (oyImage_s *image, oyRectangle_s *rectangle, int allocate_method, oyArray2d_s **array, oyRectangle_s *array_rectangle, oyObject_s obj) |
| creata a array from a image and fill with data More... | |
| int | oyImage_ReadArray (oyImage_s *image, oyRectangle_s *image_rectangle, oyArray2d_s *array, oyRectangle_s *array_rectangle) |
| read a array into a image More... | |
| int | oyImage_WritePPM (oyImage_s *image, const char *file_name, const char *free_text) |
| write buffer to portable pix map format More... | |
| int | oyImage_SetData (oyImage_s *image, oyStruct_s **pixel_data, oyImage_GetPoint_f getPoint, oyImage_GetLine_f getLine, oyImage_GetTile_f getTile, oyImage_SetPoint_f setPoint, oyImage_SetLine_f setLine, oyImage_SetTile_f setTile) |
| set a custom image data module More... | |
| int | oyImage_GetWidth (oyImage_s *image) |
| Get the width in pixel. More... | |
| int | oyImage_GetHeight (oyImage_s *image) |
| Get the width in pixel. More... | |
| int | oyImage_GetPixelLayout (oyImage_s *image, oyLAYOUT_e type) |
| Get the pixel layout. More... | |
| oyCHANNELTYPE_e | oyImage_GetChannelType (oyImage_s *image, int pos) |
| Get a channel type. More... | |
| int | oyImage_GetSubPositioning (oyImage_s *image) |
| Get sub positioning. More... | |
| oyProfile_s * | oyImage_GetProfile (oyImage_s *image) |
| Get the image profile. More... | |
| oyOptions_s * | oyImage_GetTags (oyImage_s *image) |
| Get object tags. More... | |
| oyStruct_s * | oyImage_GetPixelData (oyImage_s *image) |
| Get the pixel data. More... | |
| oyImage_GetPoint_f | oyImage_GetPointF (oyImage_s *image) |
| Get the point function. More... | |
| oyImage_GetLine_f | oyImage_GetLineF (oyImage_s *image) |
| Get the Line function. More... | |
| oyImage_SetPoint_f | oyImage_GetSetPointF (oyImage_s *image) |
| Get the point function. More... | |
| oyImage_SetLine_f | oyImage_GetSetLineF (oyImage_s *image) |
| Get the Line function. More... | |
| oyStruct_s * | oyImage_GetUserData (oyImage_s *image) |
| Get the user data. More... | |
| int | oyImage_RoiToSamples (oyImage_s *image, oyRectangle_s *roi, oyRectangle_s **sample_rectangle) |
| Set sample rectangle from image rectangle. More... | |
| int | oyImage_SamplesToRoi (oyImage_s *image, oyRectangle_s *sample_rectangle, oyRectangle_s **roi) |
| Set rectangle in image dimension from samples. More... | |
| int | oyImage_SamplesToPixels (oyImage_s *image, oyRectangle_s *sample_rectangle, oyRectangle_s *pixel_rectangle) |
| Set rectangle in pixel dimension from samples. More... | |
| int | oyImage_PixelsToSamples (oyImage_s *image, oyRectangle_s *pixel_rectangle, oyRectangle_s *sample_rectangle) |
| Set rectangle in sample dimension from pixels. More... | |
| int | oyImage_FromFile (const char *file_name, int icc_profile_flags, oyImage_s **image, oyObject_s obj) |
| generate a Oyranos image from a file name More... | |
| int | oyImage_ToFile (oyImage_s *image, const char *file_name, oyOptions_s *opts) |
| write a Oyranos image to a file name More... | |
| void | oyImage_Release__Members (oyImage_s_ *image) |
| Custom Image destructor. More... | |
| int | oyImage_Init__Members (oyImage_s_ *image) |
| Custom Image constructor. More... | |
| int | oyImage_Copy__Members (oyImage_s_ *dst, oyImage_s_ *src) |
| Custom Image copy constructor. More... | |
| int | oyImage_WriteCUBE (oyImage_s *image, const char *file_name, const char *free_text) |
| write buffer to CUBE Lut format More... | |
Public Member Functions inherited from oyStruct_s | |
| const char * | oyStruct_GetTextFromModule (oyStruct_s *obj, oyNAME_e name_type, uint32_t flags) |
| get object infos from a module More... | |
| const char * | oyStruct_GetText (oyStruct_s *obj, oyNAME_e name_type, uint32_t flags) |
| Get a text dump. More... | |
| int | oyStruct_RegisterStaticMessageFunc (int type, oyStruct_RegisterStaticMessageFunc_f msg, oyStruct_RegisterStaticFreeFunc_f free_func) |
| register a function for verbosity More... | |
| const char * | oyStruct_GetInfo (oyPointer context_object, oyNAME_e type, int flags) |
| get a additional string from a object More... | |
| const char * | oyStructTypeToText (oyOBJECT_e type) |
| Objects type to small string. More... | |
Data Fields | |
| const oyOBJECT_e | type_ |
| Type of object. More... | |
| oyStruct_Copy_f | copy |
| Copy function. More... | |
| oyStruct_Release_f | release |
| Release function. More... | |
| oyObject_s | oy_ |
| Oyranos internal object. More... | |
Data Fields inherited from oyStruct_s | |
| const oyOBJECT_e | type_ |
| Type of object. More... | |
| oyStruct_Copy_f | copy |
| Copy function. More... | |
| oyStruct_Release_f | release |
| Release function. More... | |
| oyObject_s | oy_ |
| Oyranos internal object. More... | |
A reference struct to gather information for image transformation.
as we don't target a complete imaging solution, only raster is supported
Resolution is in pixel per centimeter.
Requirements:
Create a basic image with the pixel owned by the caller use oyImage_Create().
To set a image data module use oyImage_SetData().
Should oyImage_s become internal and we provide a user interface?
| typedef oyPointer(* oyImage_GetPoint_f) (oyImage_s *image, int point_x, int point_y, int channel, int *is_allocated) |
pixel accessor
Typedef oyImage_GetPoint_f
| [in,out] | image | the image object |
| [in] | point_x | the data location in x direction |
| [in] | point_y | the data location in y direction |
| [in] | channel | the nth channel will is requested -1 means to request all channels, note that can be an expensive call for non continous pixel layouts |
| [out] | is_allocated | are the points always newly allocated? |
| typedef int(* oyImage_SetPoint_f) (oyImage_s *image, int point_x, int point_y, int channel, oyPointer data) |
pixel setter
Typedef oyImage_SetPoint_f
| [in,out] | image | the image object |
| [in] | point_x | the data location in x direction |
| [in] | point_y | the data location in y direction |
| [in] | channel | the nth channel will is requested -1 means to request all channels, note that can be an expensive call for non continous pixel layouts |
| [out] | data | the data to be copied into the image |
| OYAPI oyImage_s *OYEXPORT oyImage_Copy | ( | oyImage_s * | image, |
| oyObject_s | object | ||
| ) |
Copy or Reference a Image object.
Function oyImage_Copy
The function is for copying and for referencing. The reference is the most often used way, which saves resourcs and time.
| [in] | image | Image struct object |
| object | NULL - means reference, the optional object triggers a real copy |
| int oyImage_Copy__Members | ( | oyImage_s_ * | dst, |
| oyImage_s_ * | src | ||
| ) |
Custom Image copy constructor.
Function oyImage_Copy__Members
| oyImage_s * oyImage_Create | ( | int | width, |
| int | height, | ||
| oyPointer | pixels, | ||
| oyPixel_t | pixel_layout, | ||
| oyProfile_s * | profile, | ||
| oyObject_s | object | ||
| ) |
collect infos about a image
Create a image description and access object. The passed pixels pointer remains in the responsibility of the user. The image is a in memory blob.
| [in] | width | image width |
| [in] | height | image height |
| [in] | pixels | pointer to the data buffer |
| [in] | pixel_layout | i.e. oyTYPE_123_16 for 16-bit RGB data |
| [in] | profile | color space description |
| [in] | object | the optional base |
| oyImage_s * oyImage_CreateForDisplay | ( | int | width, |
| int | height, | ||
| oyPointer | channels, | ||
| oyPixel_t | pixel_layout, | ||
| const char * | display_name, | ||
| int | display_pos_x, | ||
| int | display_pos_y, | ||
| int | display_width, | ||
| int | display_height, | ||
| int | icc_profile_flags, | ||
| oyObject_s | object | ||
| ) |
collect infos about a image for showing one a display
| [in] | width | image width |
| [in] | height | image height |
| [in] | channels | pointer to the data buffer |
| [in] | pixel_layout | i.e. oyTYPE_123_16 for 16-bit RGB data |
| [in] | display_name | display name |
| [in] | display_pos_x | left image position on display |
| [in] | display_pos_y | top image position on display |
| [in] | display_width | width to show in window |
| [in] | display_height | height to show in window |
| [in] | icc_profile_flags | profile selection flags, see oyProfile_FromFile() |
| [in] | object | the optional base |
| int oyImage_FillArray | ( | oyImage_s * | image, |
| oyRectangle_s * | rectangle, | ||
| int | allocate_method, | ||
| oyArray2d_s ** | array, | ||
| oyRectangle_s * | array_rectangle, | ||
| oyObject_s | obj | ||
| ) |
creata a array from a image and fill with data
Function oyImage_FillArray
The rectangle will be considered relative to the data. A given array will be filled. Allocation of a new array2d object happens as needed.
| [in] | image | the image |
| [in] | rectangle | The image rectangle in a oyImage_GetWidth(image) == 1.0 unit. The rectangle is in the source image. |
| [in] | allocate_method |
|
| [out] | array | array to fill; If array is empty, it is allocated as per allocate_method. During function execution the array might have a changed focus. Focus is restored before return. |
| [in] | array_rectangle | The array rectangle in oyImage_GetWidth(image) == 1.0 unit. For NULL the image rectangle will be placed to the top left corner in array. If array_rectangle is provided, image samples will be placed in array at array_rectangle's position and size. The unit is relative to the image. |
| [in] | obj | the optional user object |
| int oyImage_FromFile | ( | const char * | file_name, |
| int | icc_profile_flags, | ||
| oyImage_s ** | image, | ||
| oyObject_s | obj | ||
| ) |
generate a Oyranos image from a file name
Function oyImage_FromFile
The file name will be stored inside the image's tags.
| [in] | file_name | input |
| [in] | icc_profile_flags | profile selection flags, see oyProfile_FromFile() |
| [out] | image | output |
| [in] | obj | Oyranos object (optional) |
| oyPointer oyImage_GetArray2dLineContinous | ( | oyImage_s * | image, |
| int | point_y, | ||
| int * | height, | ||
| int channel | OY_UNUSED, | ||
| int * | is_allocated | ||
| ) |
Continous layout line accessor.
Function oyImage_GetArray2dLineContinous
Will be used by default.
| oyPointer oyImage_GetArray2dPointContinous | ( | oyImage_s * | image, |
| int | point_x, | ||
| int | point_y, | ||
| int | channel, | ||
| int * | is_allocated | ||
| ) |
Continous layout pixel accessor.
Function oyImage_GetArray2dPointContinous
Will be used by default.
| oyCHANNELTYPE_e oyImage_GetChannelType | ( | oyImage_s * | image, |
| int | pos | ||
| ) |
Get a channel type.
Function oyImage_GetChannelType
Referenced by oyConnectorImaging_s::oyFilterSocket_MatchImagingPlug().
| int oyImage_GetHeight | ( | oyImage_s * | image | ) |
Get the width in pixel.
Function oyImage_GetHeight
| oyImage_GetLine_f oyImage_GetLineF | ( | oyImage_s * | image | ) |
Get the Line function.
Function oyImage_GetLineF
| oyStruct_s * oyImage_GetPixelData | ( | oyImage_s * | image | ) |
Get the pixel data.
Function oyImage_GetPixelData
| int oyImage_GetPixelLayout | ( | oyImage_s * | image, |
| oyLAYOUT_e | type | ||
| ) |
Get the pixel layout.
Function oyImage_GetPixelLayout
Referenced by oyConnectorImaging_s::oyFilterSocket_MatchImagingPlug().
| oyImage_GetPoint_f oyImage_GetPointF | ( | oyImage_s * | image | ) |
Get the point function.
Function oyImage_GetPointF
| oyProfile_s * oyImage_GetProfile | ( | oyImage_s * | image | ) |
Get the image profile.
Function oyImage_GetProfile
Referenced by oyConnectorImaging_s::oyFilterSocket_MatchImagingPlug().
| oyImage_SetLine_f oyImage_GetSetLineF | ( | oyImage_s * | image | ) |
Get the Line function.
Function oyImage_GetSetLineF
| oyImage_SetPoint_f oyImage_GetSetPointF | ( | oyImage_s * | image | ) |
Get the point function.
Function oyImage_GetSetPointF
| int oyImage_GetSubPositioning | ( | oyImage_s * | image | ) |
Get sub positioning.
Function oyImage_GetSubPositioning
Referenced by oyConnectorImaging_s::oyFilterSocket_MatchImagingPlug().
| oyOptions_s * oyImage_GetTags | ( | oyImage_s * | image | ) |
Get object tags.
Function oyImage_GetTags
| oyStruct_s * oyImage_GetUserData | ( | oyImage_s * | image | ) |
Get the user data.
Function oyImage_GetUserData
| int oyImage_GetWidth | ( | oyImage_s * | image | ) |
Get the width in pixel.
Function oyImage_GetWidth
Referenced by oyPixelAccess_s::oyPixelAccess_Show(), and oyPixelAccess_s::oyPixelAccess_SynchroniseROI().
| int oyImage_Init__Members | ( | oyImage_s_ * | image | ) |
Custom Image constructor.
Function oyImage_Init__Members
| OYAPI oyImage_s *OYEXPORT oyImage_New | ( | oyObject_s | object | ) |
allocate a new Image object
Function oyImage_New
| int oyImage_PixelsToSamples | ( | oyImage_s * | image, |
| oyRectangle_s * | pixel_rectangle, | ||
| oyRectangle_s * | sample_rectangle | ||
| ) |
Set rectangle in sample dimension from pixels.
Function oyImage_PixelsToSamples
| [in] | image | a image |
| [in] | pixel_rectangle | rectangle in pixel unit; optional |
| [in,out] | sample_rectangle | rectangle result of image in samples for x,width and pixel for y,height |
| int oyImage_ReadArray | ( | oyImage_s * | image, |
| oyRectangle_s * | image_rectangle, | ||
| oyArray2d_s * | array, | ||
| oyRectangle_s * | array_rectangle | ||
| ) |
read a array into a image
Function oyImage_ReadArray
The rectangle will be considered relative to the image. The given array should match that rectangle.
| [in] | image | a image |
| [in] | image_rectangle | rectangle from image, in oyImage_GetWidth() == 1.0 unit; optional |
| [in,out] | array | the array to read from |
| [in] | array_rectangle | rectangle for array, in oyImage_GetWidth() == 1.0 unit; optional |
| OYAPI int OYEXPORT oyImage_Release | ( | oyImage_s ** | image | ) |
release and possibly deallocate a oyImage_s object
Function oyImage_Release
| [in,out] | image | Image struct object |
Referenced by oyConnectorImaging_s::oyFilterSocket_MatchImagingPlug().
| void oyImage_Release__Members | ( | oyImage_s_ * | image | ) |
Custom Image destructor.
Function oyImage_Release__Members
| int oyImage_RoiToSamples | ( | oyImage_s * | image, |
| oyRectangle_s * | roi, | ||
| oyRectangle_s ** | sample_rectangle | ||
| ) |
Set sample rectangle from image rectangle.
Function oyImage_RoiToSamples
| [in] | image | a image |
| [in] | roi | rectangle from image in oyImage_GetWidth() == 1.0 unit; optional |
| [in,out] | sample_rectangle | rectangle for sample results in samples for x,width and pixel for y,height |
| int oyImage_SamplesToPixels | ( | oyImage_s * | image, |
| oyRectangle_s * | sample_rectangle, | ||
| oyRectangle_s * | pixel_rectangle | ||
| ) |
Set rectangle in pixel dimension from samples.
Function oyImage_SamplesToPixels
| [in] | image | a image |
| [in] | sample_rectangle | rectangle in samples for x,width and pixel for y,height; optional |
| [in,out] | pixel_rectangle | rectangle result of image in pixel unit |
| int oyImage_SamplesToRoi | ( | oyImage_s * | image, |
| oyRectangle_s * | sample_rectangle, | ||
| oyRectangle_s ** | roi | ||
| ) |
Set rectangle in image dimension from samples.
Function oyImage_SamplesToRoi
| [in] | image | a image |
| [in] | sample_rectangle | rectangle in samples for x,width and pixel for y,height; optional |
| [in,out] | roi | rectangle result of image in oyImage_GetWidth() == 1.0 unit |
| int oyImage_SetArray2dPointContinous | ( | oyImage_s * | image, |
| int | point_x, | ||
| int | point_y, | ||
| int | channel, | ||
| oyPointer | data | ||
| ) |
Continous layout pixel accessor.
Function oyImage_SetArray2dPointContinous
Will be used by default.
| int oyImage_SetCritical | ( | oyImage_s * | image, |
| oyPixel_t | pixel_layout, | ||
| oyProfile_s * | profile, | ||
| oyOptions_s * | tags, | ||
| int | width, | ||
| int | height | ||
| ) |
Set a image.
Function oyImage_SetCritical
Set critical options and check consitency.
| [in,out] | image | the image |
| [in] | pixel_layout | the new layout or pass 0 |
| [in] | profile | assign a new profile reinterprets color, optional |
| [in] | tags | new tags, replace any old tags, optional |
| [in] | width | new width or pass -1 |
| [in] | height | new height or pass -1 |
| int oyImage_SetData | ( | oyImage_s * | image, |
| oyStruct_s ** | pixel_data, | ||
| oyImage_GetPoint_f | getPoint, | ||
| oyImage_GetLine_f | getLine, | ||
| oyImage_GetTile_f | getTile, | ||
| oyImage_SetPoint_f | setPoint, | ||
| oyImage_SetLine_f | setLine, | ||
| oyImage_SetTile_f | setTile | ||
| ) |
set a custom image data module
Function oyImage_SetData
This function allowes for exchanging of all the module components.
The pixel_data structure can hold in memory or mmap representations or file pointers. The according point, line and/or tile functions shall use the oyImage_s::pixel_data member to access the data and provide in this interface.
| image | the image |
| pixel_data | data struct will be moved in |
| getPoint | interface function |
| getLine | interface function |
| getTile | interface function |
| setPoint | interface function |
| setLine | interface function |
| setTile | interface function |
| int oyImage_ToFile | ( | oyImage_s * | image, |
| const char * | file_name, | ||
| oyOptions_s * | opts | ||
| ) |
write a Oyranos image to a file name
Function oyImage_ToFile
| [in] | image | input |
| [in] | file_name | output |
| [in] | opts | options for file_write node |
| int oyImage_WriteCUBE | ( | oyImage_s * | image, |
| const char * | file_name, | ||
| const char * | free_text | ||
| ) |
write buffer to CUBE Lut format
Function oyImage_WriteCUBE
| [in] | image | the image |
| [in] | file_name | a writeable file name, The file can contain "%d" to include the image ID. optional - default is stdout |
| [in] | free_text | A text to include as comment. |
References oyjlBT(), oyjlStringCopy(), oyNAME_NAME, oyOBJECT_IMAGE_S, oyStruct_s::oyStruct_GetInfo(), and type_.
| int oyImage_WritePPM | ( | oyImage_s * | image, |
| const char * | file_name, | ||
| const char * | free_text | ||
| ) |
write buffer to portable pix map format
Function oyImage_WritePPM
| [in] | image | the image |
| [in] | file_name | a writeable file name, The file can contain "%d" to include the image ID. optional - default is stdout |
| [in] | free_text | A text to include as comment. |
| oyStruct_Copy_f oyImage_s::copy |
Copy function.
| oyObject_s oyImage_s::oy_ |
Oyranos internal object.
Features name and hash. Do not change during object life time.
| oyStruct_Release_f oyImage_s::release |
Release function.
| const oyOBJECT_e oyImage_s::type_ |
Type of object.
The struct type tells Oyranos how to interprete hidden fields.
Referenced by oyImage_WriteCUBE().
1.8.13