Digital Image Representations

I thought it might be a useful exercise to run through some introductory tutorial material associated with how digital images are represented digitally.  And how one can work with the components of these different representation to build visual effects.  

To start off, lets setup what is perhaps the worlds simplest effect, the Fixed Image Ip Op effect.  

10214973679?profile=RESIZE_710x

In the configuration shown above, the source image is just being routed into the canvas with a 100% Mix.

Studio Artist represents a digital image as a RGB image buffer. RGB stands for Red - Green - Blue.  Here's a short explanation of the RGB color model if you want to learn more about why digital color images are represented this way.

Each of the individual color channels can be thought of as 1 channel grayscale images individually. But if they are projected as the superposition of 3 different colored lights (red-green-blue lights), then you perceive the superposed projection as the full colored image they represent (additive color synthesis).

You can simulate this using the Fixed Image Ip Op effect.  Let's start by looking at the 3 color channels as they would project with colored light.

Erase the canvas to black before running the effect for each of the 3 examples below.

10214982692?profile=RESIZE_710x

10214982861?profile=RESIZE_710x

10214983088?profile=RESIZE_710x

Now if i erase to black just once, and then run the 3 combinations of the Fixed Image Ip Op effect shown above, i get the full colored image displayed in the canvas.  So we have just shown that the Young-Holzman theory of tri-chromatic vision actually works.

But suppose you want to mess with it.

A simple thing to try is to flip the R and G channels.  You can use one of the 'swizzle' Combination options in the Fixed Image Ip Op effect to do that.

10214991879?profile=RESIZE_710x

Using the settings shown above, we have exchanged the R and B channels. 

The way to understand the Swizzle operation is to note that the Color Space has 3 components R-G-B,

those 3 R-G-B components are ordered 1-2-3,

we specified a Swizzle 312,

which means that the input components 1-2-3 will be reordered as 3-2-1 for the output of the effect,

so we end up as B-G-R being output into the canvas.

You can change the Ip Source to Current Layer after running the effect, and then run it again to see that you get the original image coloring back.  Running it a second time of the effected canvas (as opposed to running the Source through it) exchanges the R and B channels again to get back the original ordering.

10214992455?profile=RESIZE_710x

Try out some other experiments using the RGB  Color Space and different Combination options in the Fixed Image Ip Op effect.

 

Another fun experiment to get a handle on the RGB color space representation of a digital image and how one could manipulate it is to work with the Invert Ip Op effect.

Inverting all 3 RGB color channels look like below.

10215003874?profile=RESIZE_710x

But if you just invert the R channel you get something entirely different looking.

10215005077?profile=RESIZE_710x

Try out the different Combination options in the Invert effect with the RGB Color Space to get a feel for what they look like.

 

If you are feeling adventurous, you could try out some of the other Color Space options.  RGB is just one of many different representational spaces for digital image color.  We will discuss them in a later post to this thread.

 

Notes:

The Studio Artist canvas is actually composed of 4 monochrome images, ARGB.  RGB is Red-Green-Blue, which you are familiar with from the discussion above.

A stands for Alpha.  You can think of the Alpha channel as a way to attach a monochrome selection or transparency mask to an individual RGB image.

Although i just said 4 monochrome images, internally they are interleaved together ARGBARGBARGB etc in a single colored image object in the Studio Artist canvas.

 

Different Operation Modes in Studio Artist may deal with the canvas RGB image as an integral colored image object, or internally break it up into separate monochrome image objects for subsequent effect processing.  Afterwards, the individual monochrome image objects would be recombined back together before sending them back to the canvas.

For example, MSG effects do actually treat the individual color channels as separate monochrome image objects (Image Streams) on the MSG Bus.  Individual MSG Processors use these monochrome image streams on the Bus for input to the Processor and output from the Processor.  Because of that, it is very easy to build visual effects that combine the individual color channels together in different ways.

 

You need to be a member of Studio Artist to add comments!

Join Studio Artist

Email me when people reply –

Replies

  • Indexed color representations are typically based on mapping a monochrome 1 channel image through some kind of mapping or lookup function that converts the monochrome image into a colored 3 channel RGB output image.

    Historically the idea was introduced because memory was so expensive that using all 3 color channels to store an image was considered prohibitive (too expensive). So instead of using memory for 3 full frame color channels, a single monochrome image was mapped through a 1 channel to 3 channel lookup memory to get full color output.

    This idea probably seems very quaint today.  But the idea behind it is very useful for building certain kinds of visual imaging effects based on color gradients or color palettes.

    We will use MSG (modular synthesized graphics) in Studio Artist to build some simple examples of this kind of visual effect (and the associated digital image representations behind it).

    The 2 screen shots of the MSG Advanced Editor below show off a very simple 2 processor MSG effect that generates 1 channel of monochrome procedural turbulence noise and then maps that noise image into a grayscale color output image.

    First, the GenAdvTurb processor outputs a monochrome 1 channel turbulence noise texture into the R Out image stream.

    10215429467?profile=RESIZE_930x

    Then, a 1to3 processor is used to route the monochrome texture in the R Out image stream into the full set of 3 output image streams (R Out, G Out, B Out).

    10215430660?profile=RESIZE_930x

    We have to do this second processor step because MSG effects output 3 color channels associated with 3 output image streams *R Out, G Out, B Out).  Those 3 output color image streams are what is then placed in the canvas RGB buffer when the effect is run.

    To change this MSG effect into an indexed color visual effect, we will switch the 1to3 processor with a 1to3GradMap processor.

    10215432277?profile=RESIZE_930x

    You can see that the monochrome texture image is now being used to index into a color gradient mapping to produce a 3 channel RGB color output.  There are only 2 distinct color hues in the full color output image because there are only 2 colors in the particular color gradient we are using as seen below.

    10215433293?profile=RESIZE_930x

    If i change to a different somewhat more complex color gradient, the coloring of the index mapped output image changes accordingly.

    10215433868?profile=RESIZE_930x

    The 'index' being used for the color mapping is the grayscale value of the texture turbulence field.  If i change the texture field by mutating the adjustable parameters of the GenAdvTurb processor that generates it while keeping the color gradient the same, you can see the result below in the Evolution Editor preview cells.

    10215434501?profile=RESIZE_930x

    I did this by shift option clicking the preview cell in the MSG Advanced Editor.  Shift option clicking the preview cell only mutates the processor chain in the Evolution Editor preview cells.  Option clicking the preview cell in the MSG Advanced Editor will evolve the coloring only (color gradients and color palettes associated with the mSG effect) while keeping the processor chain and it's adjustable parameters the same.

    10215436300?profile=RESIZE_930x

    This is one of the simplest MSG presets you could possibly build.  But understanding how it works is useful because the same principals can be applied to build much more elaborate effects. 

    Understanding the digital image representation behind it (color index mapping) is also very useful.  Think of it as another tool in your digital imaging toolbox that you can use to build more elaborate visual effects.

     

    You can also use Studio Artist Ip Op effects to perform color gradient mapping.

    Let's take the output of the original MSG grayscale turbulence texture effect used above and run the MSG effet to generate a grayscale turbulence texture in the canvas as shown below.

    10215441861?profile=RESIZE_930x

    If i now switch the Operation Mode from MSG to IMage Operation, and select the Color Gradient Mapping Ip Op effect and run it, i get the following (for it's default settings).

    10215442298?profile=RESIZE_930x

    So we've used the Color Gradient Mapping Ip Op effect to do what we were doing with that 1to3GradMap MSG processor earlier in this post.

    Note that the Ip Source is set to Current Layer.  If i change it to Source image and then run the effect, i get the following.

    10215443679?profile=RESIZE_930x

    Note that the G green channel of the source image is now being used to index into the current source color gradient.  Note that the source area color gradient is setup to basically be the same (1 slight difference) as the color gradient i used as my first MSG color gradient stream.

    10215445254?profile=RESIZE_400x

    There are other options available for indexing in the Color Gradient Ip Op effect.  Let's try using the Hue channel in the LHS (Luminance-Hue-Saturation) color space.  LHS is an alternative color space to RGB.

    10215446054?profile=RESIZE_930x

    You can see that the same set of color gradient colors are mapped into the output, but where specific colors are located is different since we are using the Hue of the source image for the index mapping rather than the G green channel of the source image.

     

     

  •  We're going to continue our discussion of color indexing and color mapping.  Recall that in the last post, we used the Color Gradient Map Ip Op effect to index map the G channel of the source image into the source color gradient.

    I'm now going to configure the Color Palette map Ip Op effect to essentially do the same effect, but using a Color Palette rather than a Color Gradient.

    10215449068?profile=RESIZE_930x

    I say essentially because we're using the source image Luminance to do the indexing in the screen shot above.  You can compare that to using the G green source image channel for the indexing, which we did near the end of the previous post in this thread.

    It turns out that the G green channel of the RGB color space is a close approximation of the perceptual luminance of the image.  Not exactly the same, but a good first approximation.

    Note that i have the Option parameter for the effect set to Smooth.  If i switch it to Quantized instead then i get an output that is going to be more like those old color index displays (1 monochrome image channel mapped into a full color output using a color index map).

    Quantized means that only the specific colors in the source color gradient being used for the effect can be output.  Smooth means that intermediate colors generated by blending between 2 of the specific colors in the source color palette can be used for output.

    If i switch the Map Type from Lum Index map to RGB Error, then i get a somewhat different visual effect as shown below.

    10215493272?profile=RESIZE_930x

    What we were doing before was taking a single color channel (the luminance channel) of the source image and using that as a index map into the color palette.  So we were treating the color essentially like a color gradient for the mapping. But with the RGB Error Map Type, the effect is running a much more sophisticated color mapping that tries to optimally map between 2 or more of the colors in the color palette to best represent the source image.  Best meaning the option that leads to the lowest RGB error between what went into the mapping and what is coming out of the mapping.

    This last example is showing a color mapping that takes a full color image as input to the effect (3 color channels) and outputs a mapped 3 color channel output.  When the Map Type was set to Lum Index, only a single color channel was used as input to the mapping effect.

    You can see that the color output of the visual effect much more closely resembles the actual source image.  Heavily influenced of course by the specific colors in the source color palette we are using.

    If i change the source color palette by drag and dropping an impressionist painting preview image from a google search in a web browser into the source color palette area of Studio Artist, and run the effect again, the resulting coloring of the output will change.

    10215512896?profile=RESIZE_930x

    If i do a web search for an Andy Warhol pop art image, drag and drop the preview from the browser into the source palette area and run the Ip Op effect again, the resulting visual appearance changes again to match the visual appearance of the new color palette i am mapping against.

    10215513475?profile=RESIZE_930x

    You are of course free to manually construct color palette and color gradient from scratch using the source color picker.  Or you can manually sample colors by holding down the c hot key and then mousing down in any Studio Artist visual image display area (like the source or the canvas image, or a MSG preview cell).  Option click to record a new color in any color palette cell, or at any index location in a color gradient.

    Automatically generating a color palette from a specific image is just an easy way to build one. To build one that in some sense captures some aspect of that image (the visual coloring properties of the image).

     

    What have we learned about digital image representations in this discussion thread so far?

    We learned that color images are composed of 3 monochrome color channels.  Images are typically represented and stored using the RGB color space.  But there are other color spaces like LHS (luminance, hue,saturation) for example that could be used instead (especially internally in visual effect algorithms).

    We learned how to take a color gradient or color palette and use them to map a single monochrome grayscale image into a full 3 channel color output image.

    We also learned that we can perform color mappings using a color palette that take a 3 channel color input image and map in into a different color output image based on a color palette.

    We learned that a color palette can be though of as a compact representation of the overall visual color appearance of a color image.  A color palette with only a few distinct colors in it can actually capture quite a bit of the perceptual qualities of the full color image it was generated from. So a color palette is also a kind of digital image representation.  One associated with just the visual perceptual attributes of color.

    There are of course other kinds of visual perceptual attributes.  These can also be thought of as different kinds of digital image representations.  We'll dive into what that means in a future post in this discussion thread.

     

     

  • Let's spend a moment thinking about spatial coherence in the 3 color channel images that make up a full color RGB image.

    Here's an example of what i'm talking about below. We're running the Rank Line Filter Ip Op effect.  We're running the effect in the RGB Color Space.  And we're running the same 1 channel filtering effect on all 3 color channels (Combination is set to 1-2-3 to process the R (1) G (2) B (3) color fields with the effect.

    10215746284?profile=RESIZE_930x

    You can see that the 30 pixel median filtered effected image has color coherence with the input source image.  The coloring is the same, subject to the effects of the nonlinear median filter. 

    You can think of a median filter as a nonlinear filter that tries to smooth the image while still preserving some kind of edge structure.  As opposed to a linear blur filter that destroys edge structure.

    Now the effect output has color coherence because there is an explicit spatial coherence associated with running the same effect on all 3 color channels in the RGB color space at the same time.

    What happens if we just run the 30 pixel median filter on a single color channel of the source image. We'll do that using just the R channel below.

    10215751874?profile=RESIZE_930x

    Now i hope you agree that this version of the effect looks very different than above.  Same effect, but we're only processing one color channel (R) rather than all 3 color channels.

    We have broken the spatial coherence of the image being processed. It's a relatively small amount of breaking spatial coherence, but you immediately notice the effect.

    Let's look at a Different Ip OP effect with a somewhat more radical image transformation to try and get a handle of the visual appearance of losing spatial coherence in the individual color channels.

    10215759293?profile=RESIZE_930x

    The screenshot above shows the result you get when you process each of the 3 RGB color channels with the exact same Fracture effect.

    The screenshot below shows what happens when you process the individual 3 RGB color channels with random variations of the same specified effect (built from different random seeds).

    10215760884?profile=RESIZE_930x

    And there it is, the classic visual look associated with losing spatial color coherence in a visual processing effect.  It always reminds me of tie-dye teeshirts, or some other aspect of a 60's psychedelic look.  And if this is the visual look you are going for, breaking spatial coherence in the individual color channels is the way to do it.

     

    It is very easy to build things that have this characteristic losing spatial color coherence appearance in MSG.  I have setup an example below of a very simple way to achieve it.

    10215763253?profile=RESIZE_930x

    I started by manually constructing the simple 3 processor MSG effect shown in the MSG Advanced Editor.  Each processor is processing only one color channel.  The IO connections for the first and second processors are essentially the same as above, except the first uses R Src for input and R Out for output, and the second uses G Src for input and G Out for output.  So each color channel of the RGB source input to the MSG effect is processed by a unique monochrome 1 channel visual filter effect.

    I wanted to get a diverse set of MSG presets that all followed the same formula as above (3 processors, each processor only processes one color channel of the input to the output).  So first i populated the Evolution Editor preview cells with mutated variants of the MSG effect in the MSG Advanced Editor.  I did this by just clicking the preview cell in the MSG Advanced Editor.  The mutation happening when i do this is just parameter mutation in the individual processors in the effect.  

    10215790055?profile=RESIZE_930x

    Note how the set of MSG preview cells shown directly above looks different than the first MSG screen shown 2 images above.  They are more diverse.  To get that diversity i did the following.

    I held down the shift hot key and pressed the Swap button in the Evolution Editor.  The shift modifier hotkey when pressing Swap causes every processor in the MSG processor chain to be subjected to processor swap mutation.  Swap mutation means that a different processor from the set of all processors that have the same IO connection options (single input channel, single output channel in this case) is swapped in to replace the existing processor in the MSG effect.  The IO routing is kept the same for the swapped in processor (same hookup as the original processor had).

    I ran shift Swap a second time in the Evolution Editor and got this set of preview cells.

    10215820470?profile=RESIZE_930x

    And you can see the diversity in the individual effects that is not present when you just mutate the parameters associated with the processors and not the kind of processors being used at each place in the MSG processor chain.

    At the same time, while there is a diversity in the individual effects, in some sense the all look the same.  they all have that characteristic visual appearance associated with breaking spatial coherence n the individual color channels.

     

    Part of the reason why i'm going through this exercise here is to clue you into this characteristic appearance associated with breaking spatial coherence in the individual color channels. 

    If you like the way it looks, now you know how to easily create different variants of it. 

    If you hate the way it looks, not you have an understanding of the underlying cause, and hopefully have some insight into how to correct it.  You need to modify the components of whatever effect you are building so you don't break the spatial coherence of the individual color channels.

     

    It is super easy to end up with things looking like above when working with MSG if you are totally clueless about how it works internally.  I've watched people getting started working with the MSG Advanced Editor just drag individual processors from the Src tab processor library into the Processor PChain list, and never check the IO connections associated with the new processor in the Bus tab to see if they make sense or if the need to be adjusted to make sense.

     

    My individual thinking about this whole thing has evolved over time.  Originally whenever i saw this kind of stuff i immediately thought, that is technically incorrect.  Fix it.

    But i've come to realize over time that things that might seem like questionable effect when subjected to the entire canvas might actually be very useful textural tools when applying them to smaller masked off areas. So working with individual defined manual selection masks, where you think of the mask as being like a silk screen that you push the effect through onto the canvas. Or when working in Gallery Show with the automatic selection masking options available there.

    And once again, there is not right or wrong when it comes to visual appearance. It really depends on your individual taste, or mood at the time you are viewing it, or what you are trying to achieve manipulating people's brains when people look at it.

     

    Just to finish this topic off, let's look at a different way to break spatial coherence of the individual color channels of an image.  By replacing one or more of them with the color channels from a different image.

    10215830666?profile=RESIZE_930x

    The Source Image is the one we've been using throughout this thread so far (Hong King buses).

    The Style Image is a photo of the Eiffel Tower in Paris.

    You can see in the screen shot above that i started by erasing the canvas to the Source image.  I then ran the Fixed Image Ip Op effect with the IP Source set to the Style Image.  Note that Combination is set to 1 3.  So the R and B channels of the Style image are routed to the R and B channels of the canvas image. Remember i started by erasing the canvas to the source, so the canvas G channel will still be the source G channel after running the effect.

    And once again we have that very characteristic visual appearance associated with breaking spatial coherence in the individual color fields.  

    You also get edge structure associated with both the style and the source images slammed together into one weird looking image.  Now you can view this as a weakness, or you can try and turn it into a strength.

    One way to perhaps turn it into a strength is to use something we have previously discussed in this thread, color palette mapping. I have an example of that below.10215837255?profile=RESIZE_930x

    I first built a custom color palette by using the source area color picker to generate a reddish source color, and then running the menu command shown below.

    10215837477?profile=RESIZE_400x

    I then ran the Color Palette map Ip Op effect shown in the previous screen shot above using that custom color palette.

    Running this effect introduced some color coherence back into the effected image, based on the color palette mapping effect in essence pulling things together across the 3 color channels.  I'm going to argue that the visual appearance of this kind of thing is somewhat different than the characteristic visual appearance of losing color channel spatial coherence. 

    So now you know one approach to resolve the issue if you want to use another visual effect to try and correct it (as opposed to figuring out the structural cause in the initial effect and modifying it to make it go away).  In the process we've turned a perceived weakness into a strength.  We now have a color stylized image that incorporates structural features from 2 different images (source and style).

     

  • Our discussions so far have focused on 'continuous' representations of digital images.  By continuous i mean that there is a large enough range of grayscale values in each of the 3 color channels that define the color digital image to produce a smooth tone curve.  In this post we will talk about 'binary' digital image representations.  We'll also start to talk about the concept of 'mass', which is more of a perceptual attribute associated with image representation.

    The screen shot below show the output for a simple fixed Threshold effect created using the Threshold Ip Op effect.

    10217271061?profile=RESIZE_930x

    So we have taken the continuous 3 channel color source image and converted it into a binary digital image representation.  One that actually does a reasonable job of conveying something about the perceptual 'mass' of the source image.

    If you look at the Color Space parameter, it is set to BW-G, which means the G green channel of the 3 channel color image is being thresholded, and then run through something like the 1to3 MSG processor we discussed earlier in this thread (remember, the Threshold Ip Op effect is outputting a 3 channel color image, one in this case where the thresholded G channel is placed in all 3 RGB output channels with this setting).

    You may recall that i said earlier in the thread that the G channel in RGB color space is actually a reasonable approximation of the luminance of the digital image.  We can see this by changing the Color Space of this effect so it is thresholding the actual computed luminance of the source, and the output is very similar to above.

    10217274893?profile=RESIZE_930x

    Of course we aren't restricted to just thresholding a single color channel.  Let's try thresholding all 3 RGB color channels of the source image by changing the Color Space parameter to RGB for the effect.

    10217277455?profile=RESIZE_930x

    We aren't restricted to only working within the RGB color space in this Threshold IP OP effect.  Let's try thresholding the individual color channels in YIQ color space.  YIQ color space was originally designed for analog color television transmission.  You can check out this article for more information on YIQ Color Space if you are interested. 

    YIQ is an interesting color space for building digital visual effects since it is composed of a luminance channel Y and 2 chrominance channels I and Q.  If we change the Color Space of the Threshold effect to YIQ and run it we now get something very different looking than running the effect in RGB color space.

    10217283464?profile=RESIZE_930x

    You will recall that when we talking about breaking color channel spatial coherence it produced a very distinctive visual appearance associated with effects that do that kind of thing.  Thresholding in different color spaces also produces associated distinct visual appearances.  If you try out what i showed above with different images, the RGB thresholding and the YIQ thresholding are always going to have a certain distinctive appearance to it.

    We mentioned before that color palette mapping is one tool in your tool chest to try and use something like this kind of thresholding to create a certain visual appearance while at the same time breaking out of the ghetto of how the base effect looks.  Let's try this on the RGB thresholded canvas (2 images above) using the Color Palette like Ip Op effect.

    10217286894?profile=RESIZE_930x

    Using the same color palette map effect on the YIQ thresholded image below is going to produce something very similar to above.

    10217288259?profile=RESIZE_930x

    I can use the Fixed Image Ip Op effect configured as i show below to see what the single channel luminance image looks like for the color palette mapped image above.

    10217290877?profile=RESIZE_930x

    Note that the perceptual luminance of the color palette mapped effect is no longer binary.  The nebulous 'mass' of the source image is being represented by multiple tone values.

    We could try and be more controlled over this notion of building mass through multiple planes of flat tone by working with the first BW Threshold effect multiple times with a partial Mix %.  Let's try running it 3 times with 3 different Threshold values overlaid with partial Mix settings.

    10217293654?profile=RESIZE_930x

    So i started with a 64 Threshold and 100% Mix, then a 127 Threshold with 50% Mix, and then the 190 Threshold with 25% Mix to get what you see above.

    We could of course switch from raster rendering to vector rendering and add a stylistic vector effect, as seen below.

    10217294864?profile=RESIZE_930x

    In doing this we came up with something perhaps a little bit more artistic, and also introduced the notion of raster vs vector digital image representations.

    A raster image is an array of numbers.  The numbers are commonly referred to as 'pixels'.  Each pixel corresponds to the gray tone value at a specific spatial location in the 2D array of numbers that define the raster image.  Because a raster image is composed of a fixed array of numbers, it has a fixed size or resolution.

    A vector image is based on a set of computer graphics primitives that build up some kind of visual representation.  In Studio Artist, vector images are defined using Bezier Curve primitives.  These vector shapes are resolution independent, so they are not tied to a specific fixed size like raster graphic images are. Here's a link to a wikipedia article on vetor graphics if you are unfamiliar.

     

    There are of course many other ways of building up a representation of the mass of an image besides stacking flat planes of shaped tone onto the canvas.

    Below we show one approach using the Sketch Mass Ip Op effect.

    10217354864?profile=RESIZE_930x

    We are again using a vector representation for this effects attempt at sketching the mass of the source image. Vector paths as sketch lines rather than vector paths defining shapes of vector regions.

    There are of course millions of different approaches one could take using the paint synthesizer to build paint effects that try to generate some kind of mass sketch of the source image.  I quickly modified the standard paint synth Init QuickEdit parameter settings to build one as a demonstration below.

    10217357695?profile=RESIZE_930x

    You can also see that this one is again a binary digital representation of the source image.  Just black of white pixels, no intermediate gray values.

     

    YIQ
    YIQ is the color space used by the analog NTSC color TV system, employed mainly in North and Central America, and Japan. I stands for in-phase, while…
  • In a previous post we discussed binary representations of digital images.  Where all of the pixel values in the image are either full black or full white, not grayscale values.  This was in the context of working with the Threshold Ip Op effect. 

    Another kind of binary representation is a halftone representation of the image.  This representation was developed for displaying images on displays that can only display full on or full off lighting for a given display pixel.  Halftone representations are also the mechanism used for all kinds of different printing technologies.  Like a black and white printer that can only display a solid black printed dot on a white piece of paper.

    Halftoning provides a way to display grayscale or full color digital images on a display or printing device that can only supports binary marking technologies.  How is that possible?  Let's dive into a short examination of halftone screening.

    Below i'm showing the output of a simple Line Screen Ip Op effect.  The 'screen' is a vertical sin wave pattern with a screen size of 12 pixels.

    10222097257?profile=RESIZE_930x

    Note that the use of a screening algorithm when creating a binary image representation allows for the user perception of graytone values when someone observes the image, even though the digital image itself is composed of just full on or full off pixels.

    If i change the screen to so that it is composed of the vertical sin wave and a second horizontal sin wave using the Line Screen Dual Ip Op effect, i get a better representation of grayscale tonality when the binary image is viewed.

    10222100484?profile=RESIZE_930x

    Note that this 2D sin patterning screen generates a series of dots to represent tonality in the image.  The dots get bigger in darker areas of the image, and smaller in lighter areas of the image.

    Why does this kind of screening effect work to provide the perception of grayscale tonality even though there isn't any in the actual binary digital image?

    Human perception of images is spatially limited.  Your visual system is a kind of low pass filter.  As the spatial frequency components of the image increase in frequency, they are harder and harder to see until you can't see them at all.  Halftone screening algorithms take advantage of this perceptual fact of life.

    We can simulate this perceptual limitation by using the Blur Ip Op to process the binary screened image, as seen below.

    10222104278?profile=RESIZE_930x

    The blurred output of the effect is a crude approximation of what is happening in your brain to the image representation as you move your eyes away from the binary image.

    You can also see in the 2D screened output and the Blurred representation of how you perceive it that this screening algorithm with the parameter settings we used is not perfect, it is introducing an artificial contour (left side of the face) in the visual perception of the graytone image it is trying to reproduce with binary pixel values.

     

    What about 3 channel color images?  In the same way that each of the 3 color channels can be separately thresholded to create a binary color image, so can the 3 color channels be separately halftone screened to create color halftone image representations.

    10222106059?profile=RESIZE_930x

    Note that i'm using a Fixed Screen (Mod Source), the RGB option for the Variation (to process each of the 3 RGBn color channels with the screening algorithm), and i'm generating a vector rendition for all of the screening examples i showed above (as opposed to generating raster output from the various screening effects).

    There are several other screening Ip Op effects you can select, and they all have a lot of different options to play around with. let's take a look at an interesting color halftone screening algorithm generated using MSG processors below.

    10222107494?profile=RESIZE_930x

    This MSG preset shown in the MSG Advanced Editor is generating a much more sophisticated adaptive screening effect than the simple ones i showed off using 2 of the Ip Op screening effects.  It is still a dual line screen, but the screen intelligently adapts its orientation locally based on a perceptual attribute derived from computing local curvature (perceptual orientation) of the source image.

    Again, if we use the Blur Ip Op effect to simulate the perception of this image as you move away from it, we get the results below.

    10222109859?profile=RESIZE_930x

    You can see that this more advanced adaptive screening algorithm is doing a good job of providing a perception of a full color image, even though the actual digital image representation is binary in each of the 3 color channels (no graytones for any of the pixels in the 3 color channels, just full on white or full off black pixels).

    Even though halftone screening algorithms were originally designed specifically for image display or printing, they also make interesting visual effects in their own right.  Especially as you increase the size of the screen dots or shapes so they become design elements in their own right.

    Here's one example of an adaptive screening effect based on building a screen based on geodesic distance from local region outline derived off of the source image.

    10222115292?profile=RESIZE_930x

    Here's another more extreme example based off of a clever MSG preset.

    10222116095?profile=RESIZE_930x

    There are a lot of different approaches to building halftone screening effects in Studio Artist, so spend some time checking them out.

    Ip Op effects available include Line Screen, Line Screen Dual, Line Screen Dual 1, Line Screen Block Regionize , Line Screen Regionize, and Watershed Linescreen.

    You can use search terms like screen or halftone to search through the factory presets for different examples.

    You can also build your own from scratch using Studio Artist effect components.

    For example, let's use the Simple Texture Ip Op effect to build a noise screening effect.

    First erase the canvas to the source image.  Then we will run the Simple Texture Ip Op effect with the settings shown below.

    10222117681?profile=RESIZE_930x

    Note that the Composite option is set to Threshold Canvas with Effect.  When setup this way, the output of the effect ( a grayscale texture field in this case) is used to threshold what is already in the canvas. So we have built our own noise screen effect from the Simple Texture Ip Op.  Any effect that generates a pattern or texture can be used to build a screening effect if you work with this Composite algorithm option.

     

     

This reply was deleted.

Is anybody making a copy of all the material in the Tutorials Forum

Since the Forum is going away in June, has anyone started to make a copy of all the stuff in the Tutorials forum?I've made copies of some of the tutorial material on the main site, but haven't looked at the Tutorial Forum yet.I'm going to continue copying as much as I can for my own personal use anyway, but if anyone else is doing it, or has already started doing it, please let me know.Maybe we can co-ordinate our efforts. ps can't ..... believe John, would let this happen without so much as a…

Read more…
1 Reply · Reply by Thor Johnson Apr 13

Studio Artist is in Italy!

I was crawling the streets of Matera, Italy today and may have discovered where SA is hiding!  (see attached photo). Not meaning to make light of this great, sad mystery. But I just couldn't resist as I try to make sense of what's happening. Losing my connection to SA, Synthetik and John has been a great sadness... and if real, ends a monumental era in my creative life. love,~Victor   

Read more…
3 Replies · Reply by Thor Johnson Apr 13

The Overload

"The Overload"! A video with music, from the various experiments I made in Studio Artist with stuff that I have learned in the last few days, from tips and tricks I found by scouring this site and the Synthetik site for tutorials etc. MSG! Paint Synth with MSG Path Generation! Movie Brushes with MSG Path Start Generation! Time Particles! Time Particles with MSG Path Start Generation running Movie Brushes! All that, and more! Haha I have been trying to stretch the Paint Synthesizer in the…

Read more…
1 Reply · Reply by Thor Johnson Mar 31