[comp.sys.next] ColorStation questions

mfriedel@slate.mines.colorado.edu (Fried Mike Microwave) (04/15/91)

I have recently seen a lot of questions about the NeXTstation color. 
Here are a few answers I can supply.

1) Speed of Display
	The display is faster than a '30 cube. Depending on the number of open 
windows and their respective bit-levels. (Yes it makes a difference). As most 
applications come up in gray-scale (2bit) by default the display is almost as 
fast as monochrome 0'40. Yes it is possible to make the display dog-slow, but 
only if the the windowsizes exceed the available RAM (and the swapper gets more
than its fair share), and that takes BIG windows and a lot of them. But this is
true for all color displays. So as usual more memory helps. 
(20 is a reasonable value).
	
2) Number of available colors
	4096 colors can be displayed at once on the screen out of a set of 
16million. John Graves from NeXT wrote to me:
	
>Each pixel on NeXTstation Color is represented by 16 bits in DRAM, four bits 
>each for red, green, and blue, plus four bits of "alpha" for transparency.  In >VRAM (video ram), each pixel is represented by12 bits, four each for red, 
>green, and blue.  Overlaping images are "composited" by the PostScript window 
>manager, taking account of their transparency, before they are put into VRAM.  >Try dragging around an icon for a WriteNow document or use Molecule.App (if you>have an extended system) to see the effects of transparency.
>The RAMDAC receives four bits from the VRAMs for each color (red, green, and 
>blue).  These four bits address a color palette RAM inside the RAMDAC, 
>selecting an eight bit DAC value.  The color palette is set by the window 
>manager (PostScript) based on the brightness control and a gamma correction 
>function to get the best set of sixteen intensities from the available 256 for >each channel of red, green, and blue.  The gamma function is used to compensate>for the non-linearity of the phosphors in the monitor.  The color palette is 
>not accessible to the user, to prevent one application from messing us the 
>color palette for all applications.

	
3) X in color.
	Yes it is available. I have ported it (from Mouse-X) and people who 
want to test it are welcome to try. It has a few minor bugs left. Most 
applications run fine, only applications that can't deal with TrueColor (that 
is the only implemented visual for the moment). I am planning to implement 
other visuals, like Direct Color, but I need some more hardware specifactions 
first, and more time.
	
4) Developing color apps
	No, you don't need a color station, or a NeXtdimension to develop color
apps. Here is an excerpt from the Release Notes.

>	7	Multiple, Uniform Window Depths

>With support for multiple screens comes the need for windows to represent 
>data in varying depths.  NeXT has defined in nextdict four standard depths that>windows may logically represent:
>
>	NX_TwoBitGray	(1 spp, 2 bps, 2 bpp, planar)
>	NX_EightBitGray	(1 spp, 8 bps, 8 bpp, planar)
>	NX_TwelveBitRGB	(3 spp, 4 bps, 16 bpp, interleaved)
>	NX_TwentyFourBitRGB	(3 spp, 8 bps, 32 bpp, interleaved)
>
>
>In addition, NX_DefaultDepth is defined as the default depth limit in the 
>Window Server's current context.  Default depth limits are described below.  
>
>A window's depth is uniform throughout its bounds no matter where it lies in 
>the workspace.  This means one can open a 32-bit color window on a MegaPixel 
>display even though the full depth and color cannot be seen.  This is extremely>useful for painting and image-processing applications.  Our strategy is a 
>memory-saving, information-preserving one:  Most users or developers shouldn't >worry about window depths since they are handled automatically by the Window 
>Server and Application Kit.  However, if a developer wishes to control window 
>depths more directly, we have defined a simple API for this control.
>	
>	We introduce the concept of lazy depth promotion.  Windows start out at >minimal depth, for example, NX_TwoBitGray, and are automatically promoted to a >higher depth when necessary.  When one draws precise gray or color into a 
>window, the Window Server may promote it to a higher depth that will better 
>represent the new data.  What depth the window promotes to depends on the color>or image being rendered and the window's depth limit.
>	
>A window's depth limit is the maximum depth a window may attain.  It is set 
>implicitly during window creation to its context's default depth limit.  The 
>Window Server assigns each new context a default depth limit equal to the 
>maximum depth visible on the system.  For example, if you have a 32-bit color 
>display and a MegaPixel display, the default depth limit would be set to 
>NX_TwentyFourBitRGB.   If you only had a MegaPixel display, the default depth 
>limit would be set to NX_TwoBitGray.   The context's default depth limit can be
>changed with the setdefaultdepthlimit operator.  An individual window's depth 
>limit can be changed via the setwindowdepthlimit operator.  WARNING:  The 
>Application Kit controls the depth limits of its contexts and windows.  You can>also find out what a window's current logical depth is by calling 
>currentwindowdepth.
	
>A promotion example:  If a window is NX_TwoBitGray and it's depth limit is 
>NX_TwelveBitRGB, and you draw color, the window will automatically be promoted >to NX_TwelveBitRGB before rendering.  Lazy promotion is also triggered by the 
>precision of alpha you render with.
> 
 
5) The monitor (17 inch that is)
	Yes, one can notice the difference between the monochrome monitor and 
the colormonitor. On the color monitor single pixel black lines on the borders 
diverge a little. Text is just as crisp as on the monochrome monitor though.
	
6) Memory
	The ColorStation does not use the same chips as the other slabs. 
It needs 80ns 72 pin SIMMS. (1 or 4meg, single sided only). Memory is added o
in banks of two. On a 12meg slab it has two 4Meg and four 1Meg installed 
leaving 2 slots empty. It also has another slot to add extra memory for the DSP chip. (one 64pin socket).

I like my color station, I think it is a great buy for the $$$. Not really 
compareable to anything else out there. The performance is generally more than
pleasing. And Mathematica and color (even animated is just amazing).

	Hope this helps
	
	Michael Friedel (mfriedel@basalt.Mines.Colorado.EDU)

	
-- 
/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
No user serviceable part inside. Warranty void if opend
modified or tampered with. No batteries included.

grw@oahu.cs.ucla.edu (George Wu) (04/24/91)

I am thinking about buying a color NextStation but I have been
somewhat alerted by some recent rumors about its capabilities.  It
will be greatly appreciated if someone can verify these rumors'
validity.

    Rumor 1:
      It is known that the color NextStation can display 4096 colors
    simultaneously using 4-bits per pixel for R,G, and B.  Someone
    thought this meant only 16 gray levels can be displayed ever !  Is
    this true ?  This is very important since I need to display 256
    gray-level images.  I know there is a display PostScript processor
    that dithers the image but I am not sure if it can dither to 256
    gray levels.


    Rumor 2:
      Someone said the color NextStation display is 3-4 times slower
    than the monochrome NextStation.  Does this mean real-time
    animation is impossible to do on the color NextStation ?


   Thanks in advance to any help.

aozer@next.com (Ali Ozer) (04/25/91)

In article <1991Apr24.082948.17763@cs.ucla.edu> George Wu writes:
>I am thinking about buying a color NextStation but I have been
>somewhat alerted by some recent rumors about its capabilities.  
>      It is known that the color NextStation can display 4096 colors
>    simultaneously using 4-bits per pixel for R,G, and B.  Someone
>    thought this meant only 16 gray levels can be displayed ever !  Is
>    this true ?  

Yes, it is, of the 4096 different color values each pixel can take on,
16 of them are pure gray (Red == Green == Blue). However, PostScript 
employs dithering to display a lot more colors than can be represented
by the device pixel values; thus a 256-gray image will look a lot better
on the NeXTstation Color than on a non-dithered 16-bit display device.
In many cases a 24-bit color image on the NeXTstation Color
display is hard to distinguish from the same image on a 24-bit display.

>      Someone said the color NextStation display is 3-4 times slower
>    than the monochrome NextStation.  Does this mean real-time
>    animation is impossible to do on the color NextStation ?

It all depends on what you do, but my experience is that "3-4 times slower"
is not the general case.

Fiddling with the various user interface objects, typing, scrolling,
searching, compiling, debugging, etc are all zippy; the color machine feels
as fast as the NeXTstation in most cases.  The few times when the
NeXTstation Color will feel slower than the monochrome machine is when
an app is trying to open a big window with color in it; a
document-sized color window occupies about one meg, and trying to
allocate that memory will probably cause some paging and disk activity
at first. However, once the window is up and is in use, drawing,
scrolling, moving, etc are all real fast. Certainly not 3-4 times slower.

Thus the biggest hit you take is because of the increased memory usage
of apps with color windows. As mentioned above, a document sized color
window occupies about 1M of backing store, and with several such
windows in different apps, trying to switch between them might cause
some paging.

However, thanks to the window server's automatic depth promotion
strategy, which allows windows to get deeper as they need to, a lot of
the windows on the NeXTstation Color actually use the same amount of
memory as those on the monochrome machine.  Your vanilla Edit &
Terminal windows, as well as your Workspace browsers or Mail windows
which haven't displayed any color, all occupy as much memory as their
monochrome counterparts.

Also, thanks the optimizations in the window server and NeXTstation
Color's improved memory bandwidth, added to the fact that PostScript
drawing is a lot more than just putting pixels down, the raw drawing
speed is not much slower in the color case either. For instance,
drawing a rather complicated PostScript image ("Cobra" by Keith Ohlfs)
into a color window takes about the same time drawing it into a
monochrome one (36 seconds).  (It used to take about 32 minutes to
print the file on a LaserWriter Plus!)  Another case is running BreakApp
(from /NextDeveloper/Demos) with a screen-sized window. It runs at about
70-75 frames/second on the NeXTstation, and at about 35-40 frames/second
on the NeXTstation Color.  With a monochrome image, the frame rate
goes up to 80-85 frames/second on the color machine.  With the default sized
window, the frame rate is 105 on *both* the NeXTstation and the
NeXTstation Color, and 130 with a monochrome image on the NeXTstation
Color. (These are all highly informal timings by the way, I just did
them while typing this message up. Not official benchmarks by any
means!)

Anyway, my experience has been that during every day, steady state usage the
NeXTstation Color is certainly not 3-4 times slower than the NeXTstation;
for most things, it's as fast.

Ali, Ali_Ozer@NeXT.com

dan@ece.arizona.edu (Dan Filiberti) (04/25/91)

>I am thinking about buying a color NextStation but I have been
>somewhat alerted by some recent rumors about its capabilities.  
>      It is known that the color NextStation can display 4096 colors
>    simultaneously using 4-bits per pixel for R,G, and B.  Someone
>    thought this meant only 16 gray levels can be displayed ever !  Is
>    this true ?  

Yes, it is, of the 4096 different color values each pixel can take on,
16 of them are pure gray (Red == Green == Blue). However, PostScript 
employs dithering to display a lot more colors than can be represented
by the device pixel values; thus a 256-gray image will look a lot better
on the NeXTstation Color than on a non-dithered 16-bit display device.
In many cases a 24-bit color image on the NeXTstation Color
display is hard to distinguish from the same image on a 24-bit display.

------------------

This is just wonderful! Here, we thought we were getting a good price
on a workstation, and 4096 simultaneous colors to boot.  Now, we find
that the price isn't the only thing that is cheap.  Let's look at the
bigger picture.  NeXT claims that it can "display" 4096 colors on the
screen at one time.  What they don't tell you, is that you really have
control over only 16 colors!.  The rest are all permutations of the
six that you pick!  You know that is just lovely...once again research
succumbs to the will of the masses.

Our research deals with images of skin, which unfortunately, may contain
over 256 shades of red, pink, various browns, greys, blues, and who
knows what else.  We are trying to determine which colors are important,
and which aren't in the diagnosis of skin disorders.  How can we do
this on the NeXT ColorStation, everything is dithered, and most colors
probably won't be represented.

I guess this could be expected.  After all, they didn't even allow 
for RGB input into the NextDimension board.  I guess we can use these
workstations to replace our video recorders, but not for research.

I believe the following...if you aren't going to do it right, then
don't do it at all....


		Daniel Filiberti
		dan@helios.ece.arizona.edu [:)}

-----------------
"One good flame deserves another, together they make fire."
-----------------

eps@toaster.SFSU.EDU (Eric P. Scott) (04/25/91)

In article <1991Apr24.231003@ece.arizona.edu> dan@ece.arizona.edu
	(Dan Filiberti) writes:
>                 NeXT claims that it can "display" 4096 colors on the
>screen at one time.  What they don't tell you, is that you really have
>control over only 16 colors!

No, you have sixteen steps on each of three color guns.  16 cubed
is 4096.  NeXT *never* claimed the NeXTstation Color offered
*photorealistic* color.  They said that this was their "baby
color" offering (while most of their competitors' "baby color"
offerings only permitted 256 simultaneous colors).  The physical
limitations of the display hardware in no way prevent the
manipulation of 32-bit-deep image data, but you can only view an
_approximation_ of what the "finished product" will look like
(think of it as "double precision" computation with "single
precision" output).

NeXT's *photorealistic* color product is NeXTdimension for cube
systems.  If you look in the Spring 1991 Software and Peripherals
catalog, you'll see that there are alternatives to that, too.

NeXTstation and NeXTstation Color are what they are--"frozen"
hardware configurations targeted at the "mainstream" customer.
Cube systems are available for those _few_ people that find the
'stations inadequate.

I assume that most sites will have a mix.  Here, NeXTstation
Color accounts for 10% of the NeXTs in SFSU's School of Science;
30% are cubes, and 60% are "regular" NeXTstations.  Color
machines aren't that prevalent because (1) they're relatively
expensive (2) the 17" Philips monitors NeXT foisted on us SUCK
(3) color displays don't add significant value to the machines
for most of our users.

					-=EPS=-

melling@cs.psu.edu (Michael D Mellinger) (04/25/91)

In article <1516@toaster.SFSU.EDU> eps@toaster.SFSU.EDU (Eric P. Scott) writes:


   NeXT's *photorealistic* color product is NeXTdimension for cube
   systems.  If you look in the Spring 1991 Software and Peripherals
   catalog, you'll see that there are alternatives to that, too.

Any word on that beast?  It should garner quite a bit of press
coverage from major graphics magazines.

-Mike

izumi@mindseye.berkeley.edu (Izumi Ohzawa) (04/25/91)

In article <1991Apr24.231003@ece.arizona.edu> 
  dan@ece.arizona.edu (Dan Filiberti) writes:
quoting Ali Ozer, I beliveve,

>>Yes, it is, of the 4096 different color values each pixel can take on,
>>16 of them are pure gray (Red == Green == Blue). However, PostScript 

>This is just wonderful! Here, we thought we were getting a good price
>on a workstation, and 4096 simultaneous colors to boot.  Now, we find
>that the price isn't the only thing that is cheap.  Let's look at the
>bigger picture.  NeXT claims that it can "display" 4096 colors on the
>screen at one time.

NeXT's claims is true.  Each Video DAC's for R, G, B produce
16 different levels of voltages. So, it can produce
16 x 16 x 16 colors which are 4096 colors.  There is
no misrepresentation here.

>  What they don't tell you, is that you really have
>control over only 16 colors!.  The rest are all permutations of the
>six that you pick!  You know that is just lovely...once again research
>succumbs to the will of the masses.

This is not true.  They are not permuations of 16 colors.
And just what's wrong with your research succumbing to the will
of the masses?

>Our research deals with images of skin, which unfortunately, may contain
>over 256 shades of red, pink, various browns, greys, blues, and who
>knows what else.  We are trying to determine which colors are important,
>and which aren't in the diagnosis of skin disorders.  How can we do
>this on the NeXT ColorStation, everything is dithered, and most colors
>probably won't be represented.
>
>I guess this could be expected.  After all, they didn't even allow 
>for RGB input into the NextDimension board.  I guess we can use these
>workstations to replace our video recorders, but not for research.

So, don't use NeXT Colorstaion for your research.
24 bit per pixel enough?  You can probably use NeXTdimension
for your research, with 256 levels of black-gray-white.
If that's not enough, buy a system with 10-bit DACs from elsewhere.
Pixar had such an option, I believe.

I see that you qualify for Edu discount, so you can get
NeXTdimension board for $2600 or so.  This is a tremendous
deal for what NeXTdimension offers.

I have checked on high-end PC plug-in graphics board from
places like Number Nine, Imagraph, Matrox, etc.
(> 1024x1024 pixels, > 24-bits/pix, VRAM >3MB, non-interlaced)
And their boards are EXPENSIVE coming in at $4000 or more,
yet they don't even come close in terms
of the functions integrated and performance.
And, nobody has Display PostScript for these boards.

NeXTdimension's functionality and price is, I would say,
unparalleled, even without RGB video in, and even without
working JPEG chip, it is a great deal.

I just thought this guy's whining is totally off the mark.

Izumi


Izumi Ohzawa             [ $@Bg_78^=;(J ]
USMail: University of California, 360 Minor Hall, Berkeley, CA 94720
Telephone: (415) 642-6440             Fax:  (415) 642-3323
Internet: izumi@violet.berkeley.edu   NeXTmail: izumi@pinoko.berkeley.edu 

gessel@cs.swarthmore.edu (Daniel Mark Gessel) (04/25/91)

>This is just wonderful! Here, we thought we were getting a good price
>on a workstation, and 4096 simultaneous colors to boot.  Now, we find
>that the price isn't the only thing that is cheap.  Let's look at the
>bigger picture.  NeXT claims that it can "display" 4096 colors on the
>screen at one time.  What they don't tell you, is that you really have
>control over only 16 colors!.  The rest are all permutations of the
>six that you pick!  You know that is just lovely...once again research
>succumbs to the will of the masses.

Actually, you only have control over 3 colors Red, Green and Blue :-). 
Blow up the image to twice it's size. The dithering will give you 65 
colors for each pixel in the original image. If it's small enough, you
could blow it up four times, giving you 257 different levels.

16 levels of each RGB is quite a few. Things look damn good in that.
The memory and speed requirements for 24 bit color would be too heavy
on the 040 to give the ColorStation the speed it needs. You can
display 4096 colors. You have no control over any of them, they're
hard wired. A decision NeXT made to support the display PostScript
model. A color lookup table would suck. One App would change it,
changing all the colors on the screen. Uuuugly!

As far as advertising is concerned, 24 bit color is often quoted
as "over 16 Million colors". Boy, would that be alot of shades of gray!

Dan
-- 
Daniel Mark Gessel
Internet: gessel@cs.swarthmore.edu

matt@karazm.math.uh.edu (Matt Emerson) (04/26/91)

In article <1991Apr24.231003@ece.arizona.edu> dan@ece.arizona.edu (Dan Filiberti) writes:
>
>Yes, it is, of the 4096 different color values each pixel can take on,
>16 of them are pure gray (Red == Green == Blue). However, PostScript 
>employs dithering to display a lot more colors than can be represented
>
>This is just wonderful! Here, we thought we were getting a good price
>on a workstation, and 4096 simultaneous colors to boot.  Now, we find
>that the price isn't the only thing that is cheap.  Let's look at the
>bigger picture.  NeXT claims that it can "display" 4096 colors on the
>screen at one time.  What they don't tell you, is that you really have
>control over only 16 colors!.  The rest are all permutations of the
>six that you pick!  You know that is just lovely...once again research
>succumbs to the will of the masses.

There are pros and cons to having a static color palette. It seems to me that
there has been a lot of discussion on the bad aspects, but little mention
of the benefits.

Dan points out the cons of this arrangement. In certain applications, it may
be useful to restrict attention to a particular subset of colors. One thing
that comes to mind is greyscale work.

However, I simply cannot agree that having a static palette is "cheap." The
main idea behind NeXT's display philosophy is *device independence*. This is
at the heart of the whole idea of Display PostScript. A static palette can
guarantee an even distribution of colors for the PS interpreter to choose
from -- this results in better color fidelity *in general*.

To elaborate:
  With a color look-up table, you select your palette of colors (say 256) and
draw to your heart's content. But now what happens when you move your program
to hardware that supports more colors? You still only use the same 256 you
selected. And what if you want to run your program on hardware that supports
only 16 colors?  Undoubtedly, it'll have some noticable flaws.
  With static palettes, you just ask for any color you want.  If you have
hardware that supports full color, you obviously get exactly what you asked
for. If you don't, you get the hardware's best approximation, be that a dither
pattern of 4096 colors, 256 colors, 4 greys, whatever. And you, the programmer,
don't have to worry about it one bit. You just say: gimme rgb(123,54,90).

Sun's NeWS server also uses a static palette for these same reasons.

>Our research deals with images of skin, which unfortunately, may contain
>over 256 shades of red, pink, various browns, greys, blues, and who
>knows what else.  We are trying to determine which colors are important,
>and which aren't in the diagnosis of skin disorders.  How can we do
>this on the NeXT ColorStation, everything is dithered, and most colors
>probably won't be represented.

I find this complaint to be a little unreasonable. If very subtle color
reproduction is an imprrtant requirement for your application, you should get
some hardware that supports that.

--
Matt Emerson
matt@karazm.math.uh.edu

dan@ece.arizona.edu (Dan Filiberti) (04/26/91)

Alright, this is to all the smartass comments I've been getting.

Almost all the news in this newsgroup that I've been reading
claimed that the ColorStation has 4096 color "palette" and
16 some odd million colors to choose (that's 8bits, rgb, for
you illiterates who have responded to my previous posting).

This implies that the palette can be modified.  My posting
was in repsonse to the statement that there are 3 LUTs, rgb,
each adressed by 4 bits and returning an 8bit value.  I 
assumed that the 8bit value was modifiable.  Thus, you can
choose 16 colors ( thats one per 4bit address, rgb), and
the rest are permutations of those 16...ok, understand
what I was saying now?  Sorry if my typo (six instead of
sixteen) confused you that much.

This allows for only 16 shades of grey, red, green or blue.

Now, people are posting that the Colorstation has a
static CLUT of 4096 colors... that means that 4bits
rgb divide the 16.7 million colorspace into 4096
colors.  Which means that the statement that the ColorStation
has 16.7million colors to choose is a LIE.  There are
only 4096 colors available, and unfortunately only
16 shades of pure red, green, blue, or grey.  And, if this
is true, then why do they even need CLUTs or palletes?
It completely defeats there purpose.

As to why this is a problem, here it is.  Our research
involves determining whether diagnosis of images by
dermatologists is affected by things such as color
quantization, image coding, compression, etc...
Unfortunately, you can't determine this by showing
dermatologists dithered pictures all of the time.
You must show them "ideal" images, 24bit truecolor.
So, the Next ColorStation is useless for this purpose,
except for showing the dithered and quantized images.
And, as you can see, with only 16 pure shades of
red available, this may not work either, (since skin
is predominately red).

As for upgrading to the NeXTDimension board, that 
would be fine, for 24bit color.  But, how you going to
get the highest resolution images into the frame 
grabber without RGB input?  S-Video and NTSC are 
degraded signals, and once again, for our research
you must start with the best.  There are many others
who require RGB input also, especially since its the
only way to get the highest quality image into the
frame buffer from a camera.

And there are no other feasible hardware solutions that
I have heard about for the NeXT Cube.

No, I don't need to consult a Raster Graphics Manual.
I work with image processing every day, and completely
understand the concept of a frame buffer, CLUT, and 
palletes.  So, eat all your dumb comments, and instead
post the truth about the hardware, and suggest some
solutions to the problem...

For all who replied politely, thanks...:)


		Daniel Filiberti
		dan@helios.ece.arizona.edu [:)}

-------------
"If you want to flame, post on rec.games.mud..."
-------------

mitroo@magnus.acs.ohio-state.edu (Varun Mitroo) (04/30/91)

In article <1991Apr25.221947@ece.arizona.edu> dan@ece.arizona.edu (Dan Filiberti) writes:
>
>Alright, this is to all the smartass comments I've been getting.

	That's because your original post was faulty and ignorant.
>
>Almost all the news in this newsgroup that I've been reading
>claimed that the ColorStation has 4096 color "palette" and
>16 some odd million colors to choose (that's 8bits, rgb, for
>you illiterates who have responded to my previous posting).
>
>This implies that the palette can be modified.  My posting
>was in repsonse to the statement that there are 3 LUTs, rgb,
>each adressed by 4 bits and returning an 8bit value.  I 
>assumed that the 8bit value was modifiable.  Thus, you can
>choose 16 colors ( thats one per 4bit address, rgb), and
>the rest are permutations of those 16...ok, understand
>what I was saying now?  Sorry if my typo (six instead of
>sixteen) confused you that much.

	The palette cannot be modified by the user.  The look up
	tables are controlled by the computer depending upon the
	brightness level of the monitor to give the best range of
	colors.
>
>This allows for only 16 shades of grey, red, green or blue.
>
	This is 16 shades of pure red/green/blue.  Correct.

>Now, people are posting that the Colorstation has a
>static CLUT of 4096 colors... that means that 4bits
>rgb divide the 16.7 million colorspace into 4096
>colors.  Which means that the statement that the ColorStation
>has 16.7million colors to choose is a LIE.  There are
>only 4096 colors available, and unfortunately only
>16 shades of pure red, green, blue, or grey.  And, if this
>is true, then why do they even need CLUTs or palletes?
>It completely defeats there purpose.

	What are you saying?  Yes, the colorstation has "only"
	4096 colors.  You may want to study a little more about
	color on computers before you make comments like this.
	4 bits/pixel gives 16 shades of a pure color.  However,
	these 16 shades are not best represented by linear
	differences between them.  (ie intensity 8 is not twice
	as bright as intensity 4).  These colors must be adjusted
	to appear as distinct from each other as possible.  This
	is called gamma correction, I believe.
>
>As to why this is a problem, here it is.  Our research
>involves determining whether diagnosis of images by
>dermatologists is affected by things such as color
>quantization, image coding, compression, etc...
>Unfortunately, you can't determine this by showing
>dermatologists dithered pictures all of the time.
>You must show them "ideal" images, 24bit truecolor.
>So, the Next ColorStation is useless for this purpose,
>except for showing the dithered and quantized images.
>And, as you can see, with only 16 pure shades of
>red available, this may not work either, (since skin
>is predominately red).
>
	Does resolution have anything to do with this?  Do you
	have any idea what you're talking about?  Since when is
	skin predominantly red??  Could it possibly have
	a tinge of blue?  If it does, you have effectively
	doubled the number of colors from 16 to 32.  How about
	a greenish tinge?  Maybe you could have imparted this
	wisdom to Cezanne or Rembrant to always paint skin red
	rather than worrying about "warm" and "cool" colors.

	Before you make these idiotic claims, you might try
	any or all of the following:
	1.  Study a little bit about how the human visual
	    system works
	2.  Read a little bit about color theory
	3.  Read a computer graphics textbook concerning color
	    representation/dithering/anti-aliasing
	4.  Go to an art museum and look carefully at some
	    portraits - maybe even look at some paintings
	    by Seurat
	5.  Buy a copy of Frank Netter's Atlas of Human Anatomy
	    and look at some of his illustrations of skin
	6.  Actually look at a colorstation screen

>As for upgrading to the NeXTDimension board, that 
>would be fine, for 24bit color.  But, how you going to
>get the highest resolution images into the frame 
>grabber without RGB input?  S-Video and NTSC are 
>degraded signals, and once again, for our research
>you must start with the best.  There are many others
>who require RGB input also, especially since its the
>only way to get the highest quality image into the
>frame buffer from a camera.
>
	The one reasonable complaint you have.  The
	NextDimension should have RGB input.



-- 
You are young, they are old Control is all they've got to give
Just live how you want to live Tiny things that make you slave
Like a chain, an anchor to the bed of the sea

dan@ece.arizona.edu (Dan Filiberti) (05/02/91)

In article <1991Apr30.150026.9826@magnus.acs.ohio-state.edu>,
mitroo@magnus.acs.ohio-state.edu (Varun Mitroo) writes:
|> What are you saying?  Yes, the colorstation has "only"
|> 4096 colors.  You may want to study a little more about
|> color on computers before you make comments like this.
|> 4 bits/pixel gives 16 shades of a pure color.  However,
|> these 16 shades are not best represented by linear
|> differences between them.  (ie intensity 8 is not twice
|> as bright as intensity 4).  These colors must be adjusted
|> to appear as distinct from each other as possible.  This
|> is called gamma correction, I believe.

So, what's your dumb point.  Gamma correction compensates for 
the nonlinearity of the display device.  By making the colors
appear "as distinct from each other as possible", you are
essentially making it linear.  This does not necessarily
require a CLUT.  The 4 bit "quantization", a term you should
look up, divides the RGB color cube evenly.  The digitized 
colors are best represented linearly, but not necessarily best
viewed linearly on the display (the human visual system is best
represented by a nonlinear color space).  Here's a
quote from "Fundamentals of Digital Image Processing" by
Jain, a book which I suggest you read...

"In the NTSC color coordinate R, G, B system, the reproducible
color gamut is the cube [0,1]X[0,1]X[0,1].  It has been shown
that uniform quantization of each color coordinate in this 
system provides the best results as compared to uniform
quantization in several other coordinate systems.  Four bits
per color have been found to be just adequate in this 
coordinate system."

The analog RGB signal is sampled, then quantized to 4bits, as
above.  Whether or not the 4096 colors chosen by NeXT map these
color to best represent the human visual system (CIE coordinates)
is irrelevant.  What the camera sees, is quantized to 4 bits, and
thats what research has with which to start.  After all, just
because you can't see a color doesn't mean that it doesn't
exist in the image.

|> Does resolution have anything to do with this?  Do you
|> have any idea what you're talking about?  Since when is
|> skin predominantly red??  Could it possibly have
|> a tinge of blue?  If it does, you have effectively
|> doubled the number of colors from 16 to 32.  How about
|> a greenish tinge?  Maybe you could have imparted this
|> wisdom to Cezanne or Rembrant to always paint skin red
|> rather than worrying about "warm" and "cool" colors.

Talking about "faulty and ignorant"!  This doesn't even deserve
a reply, but in order to augment your thinking, I will.

1.  Does resolution have anything to do with this?
	I don't know, that's what the research is supposed to
	determine.  Can you prove that it does or doesn't?
	I'd like to see your evidence.

2.  Since when is skin predominantly red??
	Since studies have shown that the red component in
	skin color is always of higher intensity than green
	and blue, and is important in diagnosis of skin
	disorders.  Take an image of a part of your skin,
	and view the rgb histograms.  Which intensity is
	higher, that's right red.  Now convert to IHS space
	and look at the hue.  The hue lies in the red-purple
	range.

3.  How about a greenish tinge?
	You have predominantly green and blue skin?  Maybe
	you would be a good candidate for a research subject.
	And the doubling of colors ( there is some blue hue,
	but not much) is the problem, as I stated in my
	previous post. 

4.  ..."warm" and "cool" colors.
	These warm and cool colors that painters use for skin
	(tan, brown, pink, whatever) all contain a higher red
	component than blue and green, dummy.  And, besides,
	what does a painting have to do with skin imaging?
 
|> Before you make these idiotic claims, you might try
|> any or all of the following:
|> 1.  Study a little bit about how the human visual
|>     system works
|> 2.  Read a little bit about color theory
|> 3.  Read a computer graphics textbook concerning color
|>     representation/dithering/anti-aliasing
|> 4.  Go to an art museum and look carefully at some
|>     portraits - maybe even look at some paintings
|>     by Seurat
|> 5.  Buy a copy of Frank Netter's Atlas of Human Anatomy
|>     and look at some of his illustrations of skin
|> 6.  Actually look at a colorstation screen
 
Maybe you should follow some of your own advise (1,2,3). 
Research dealing with skin images doesn't start with viewing
portraits and illustrations (4,5).  And, I've seen the
colorstation screen (6). Whether this screen is overkill
when it comes to diagnosis of skin images remains to be
researched, maybe a 256 color palette is enough.  Why all
the extra cost?  And, if you think you have the answer, please
post some of the research you have done, or some papers that
you have seen on the subject.  After all, put up or shut up.
From what I've read, you should definitely do the latter.


		Daniel Filiberti
		dan@helios.ece.arizona.edu

thomsen@spf.trw.com (Mark R. Thomsen) (05/02/91)

There is enough discussion and argument on this that perhaps another attempt to  
explain will help some (and add confusion to others). I'll start slow to try  
minimizing confusion.

NeXTdimension represents a value to display with 24 bits. The 24 bits are the  
concatenation of three 8 bit values, representing intensities of the three  
primaries used (red, green, blue). Since the value does not go into a lookup  
table that the programmer controls (translating the internal value to a display  
value), the system is called 'true color'. To modify an image displayed (e.g.,  
a programmed gamma curve) a program will directly modify each value in the  
image array. If a lookup table was used the table values could be modified and  
the image array would not be altered. The advantage of the LUT is often speed  
relative to a program modifying 100's of thousands of values. NeXTdimension's  
processing of images will usually be done with the i860 so performance is not  
shabby (we worked image processing algorithms on a loaner NeXTdimension in  
February).

(BTW: A gamma correction is a remapping of displayed values so that a linear  
digital data progression - 1, 2, 3, 4 - looks linear on a display or printer. A  
different gamma value is associated with a different device, helping to make  
the displayed image look the same and 'right' on different devices. Recommend  
reading section 13.1.1 of Foley, vanDam, Feiner, and Hughes' Computer Graphics  
text for detailed description).

NeXTstation Color represents a value to display with 12 bits, simply halving  
the concatenated values to 4 bits each for RGB. Everything else remains the  
same, though there is no i860 to pump up performance.

There may be a non-programmable LUT that adjusts displayed colors according to  
display settings. This I do not know, though it would make sense. I think that  
the Sony chips on the ND do this. Perhaps looking at the NSC.

NeXT confused some people when they said "we will bring out 32 bit color". What  
they meant is 24 bit color on NeXTdimension with alpha processing. Most data  
structures a programmer will work with have 32 bits - the extra 8 bits is the  
alpha for transparency/opaqueness. Pixar used the extra bits for other things  
as well. I don't think NeXT has said if they plan to.

Unless you are careful you can easily start letting Display Postscript start  
dithering. It looks suprisingly good, but for people doing image analysis it  
tends to get in the way. It is not hard to be careful. Awareness is sufficient.

A gray value is when R=G=B, whether 8 bits or 4 bits. Thus ND supports 256 gray  
values, or can emulate an 8 bit gray scale display. NSC supports 16 gray  
values. For image processing many images come as gray scale. To display these  
we copy each value into the R, G, and B of an image array - after we have done  
all of the processing on the gray scale value. There are tricks for coaxing  
more visually meaningful gray scale than this - mail me direct if you have a  
question.

In our experience a display architecture that uses an LUT (e.g., a Sun) is  
suited for graphics applications (e.g., CAD). A true color display architecture  
such as NeXT's is suited for image applications (e.g., earth resource satellite  
analysis). You can, of course, do image processing on a Sun (it is hard to do  
it well) and graphics on a NeXT. The bias as you get deeper is this way. Again,  
this is our experiences.

RGB input would have been excellent, but a bit unusual for something in this  
price range. We have a need for RGB and are using other equipment to capture  
'high-res' frames and transfering them to a NeXT. If someone finds a technique  
to directly capture RGB on the NeXT, please post.

Mark R. Thomsen