: gems - Graphic Gems - Graphic Support Routines�� �  0 




NAME

.gems - Graphic Gems - Graphic Support Routines








SYNOPSIS

0GenerateNoise(pixel,noise_type)

GHSLTransform(hue,saturation,luminosity,red,green,blue)

BHull(x_offset,y_offset,polarity,columns,rows,f,g)

Ostatus=InsidePrimitive(primitive_info,annotate_info,x,y,image)

-Interpolate(image,pixel,x,y)

GTransformHSL(red,green,blue,hue,saturation,luminosity)

;Upsample(width,height,scaled_width,pixels)






9

FUNCTION DESCRIPTIONS






!

Constrast

HFunction Contrast enhances the intensity differences between the lighter!and darker elements of the image.

+The format of the ContrastImage routine is:

&

    Contrast(sign,red,green,blue)


(A description of each parameter follows:



"
sign:
?A positive value enhances the contrast otherwise it is reduced.



red, green, blue:
/A pointer to a pixel component of type Quantum.






)

GenerateNoise

-Function GenerateNoise adds noise to a pixel.

+The format of the GenerateNoise routine is:

,

        GenerateNoise(pixel,noise_type)


(A description of each parameter follows:




pixel:
A structure of type Quantum.



noise_type:
IThe type of noise: gaussian, multiplicative gaussian, impulse, laplacian, or poisson.






'

HSLTransform

IFunction HSLTransform converts a (hue, saturation, luminosity) to a (red,green, blue) triple.

/The format of the HSLTransformImage routine is:

C

        HSLTransform(hue,saturation,luminosity,red,green,blue)


(A description of each parameter follows:



(
hue, saturation, luminosity:
?A double value representing a component of the HSL color space.



red, green, blue:
/A pointer to a pixel component of type Quantum.








Hull

FFunction Hull implements the eight hull algorithm described in AppliedDOptics, Vol. 24, No. 10, 15 May 1985, ``Geometric filter for SpeckleIReduction'', by Thomas R Crimmins. Each pixel in the image is replaced byHone of its eight of its surrounding pixels using a polarity and negativehull function.

"The format of the Hull routine is:

>

        Hull(x_offset,y_offset,polarity,columns,rows,f,g)


(A description of each parameter follows:




x_offset, y_offset:
HAn integer value representing the offset of the current pixel within theimage.



polarity:
.An integer value declaring the polarity (+,-).



columns, rows:
6Specifies the number of rows and columns in the image.



f, g:
5A pointer to an image pixel and one of it's neighbor.






-

InsidePrimitive

IFunction InsidePrimitive returns True if the (x,y) position is inside theDprimitive as defined in primitive_info. Otherwise False is returned.

-The format of the InsidePrimitive routine is:

K

        status=InsidePrimitive(primitive_info,annotate_info,x,y,image)


(A description of each parameter follows:




status:
IFunction InsidePrimitive returns True if the (x,y) position is inside theDprimitive as defined in primitive_info. Otherwise False is returned.



primitive_info:
1Specifies a pointer to a PrimitiveInfo structure.



annotate_info:
0Specifies a pointer to a AnnotateInfo structure.



x,y:
6Integers representing the (x,y) location in the image.



image:
)The address of a structure of type Image.






%

Interpolate

HFunction Interpolate applies bi-linear interpolation between a pixel andit's neighbors.

)The format of the Interpolate routine is:

)

        Interpolate(image,pixel,x,y)


(A description of each parameter follows:




image:
)The address of a structure of type Image.



pixel:
>A pointer to a RunlengthPacket representing the current pixel.



x,y:
>A double representing the current (x,y) position of the pixel.








Modulate

EFunction Modulate modulates the hue, saturation, and brightness of animage.

+The format of the ModulateImage routine is:

N

    Modulate(percent_hue,percent_saturation,percent_luminosity,red,green,




      blue)


(A description of each parameter follows:



@
percent_hue, percent_saturation, percent_luminosity:
HA double value representing the percent change in a component of the HSL color space.



red, green, blue:
/A pointer to a pixel component of type Quantum.






'

TransformHSL

JFunction TransformHSL converts a (red, green, blue) to a (hue, saturation,luminosity) triple.

*The format of the TransformHSL routine is:

C

        TransformHSL(red,green,blue,hue,saturation,luminosity)


(A description of each parameter follows:




red, green, blue:
DA Quantum value representing the red, green, and blue component of apixel..

(

hue, saturation, luminosity:
EA pointer to a double value representing a component of the HSL colorspace.








Upsample

Function Upsample

&The format of the UpSample routine is:

7

        Upsample(width,height,scaled_width,pixels)


(A description of each parameter follows:




width,height:
KUnsigned values representinf the width and height of the image pixel array.



scaled_width:
7Specifies the final width of the upsampled pixel array.



pixels:
JAn unsigned char containing the pixel data. On output the upsampled pixelsare returned here.