Thursday, May 28, 2009

Text color polarity

For the last month, when I had some dead time waiting until batch jobs run or the IDE rebuilds our GPU RIP system, I have been reworking the manuscript on understanding readability of colored text by crowd-sourcing on the Web I am trying to publish with Silvia Zuffi and Carla Brambilla, who did the actual work.

The work is about the threshold for readability efficiency, i.e., we are asking where the color contrast threshold is, at which reading performance in speed decreases or the number of errors increases.

In the introduction, we summarize the previous results. Here is what we learned about the effect of text polarity and background luminance:

The sign of the difference between background and foreground luminance defines polarity. Positive polarity, or negative contrast, is for example black-on-white, while an example of negative polarity, or reversed contrast, is white-on-black. Normal vision acuity is slightly better for reversed contrast, but the majority of studies on readability found that positive polarity is more suitable for text.

Previous studies performed on old displays produced different results about the effect of polarity on reading performance. This was due to the characteristics of the equipment; for the rapid refresh rate of modern displays, dark characters on light background seem to be better, but for the common refresh rate of old displays a dark background was preferable. Reading performance was also influenced by lighting conditions that could affect the perceptibility of flicker. Another review of early studies found an advantage of black-on-white for reading and characters recognition, while Legge did not find any difference in normal vision, but found that people with low vision read faster with reversed-contrast text. These were usually people with abnormal light scatter in the eyes. Pastoor found no evidence for an influence of luminance polarity on reading and search performance. According to Shiel polarity has a significant effect on visual performance in the sense that subjects perform better and have greater preference for dark targets on lighter backgrounds (positive polarity).

Sanders and McCormick suggested that a light background might be advantageous under situations with glare or reflection problems because it may reduce the visibility of reflected light. Scharff and Ahumada investigated whether the effect of text polarity is due to different sensitivities in the “on” and “off” retinal pathways, or the result of more experience with dark text on light background. They observed that light backgrounds yield better performance, with a predominant effect on the polarity of the text. As for the effect of luminance background, Lin found that in the case of positive polarity, better performance is obtained for a lighter background at the same luminance contrast but at different background luminance. The lessons learned from previous studies that are relevant to our experiment can be summarized as follows:

  1. Luminance contrast is the dominant factor to address readability
  2. The luminance polarity affects readability (negative polarity is more difficult)
  3. The luminance of the background affects readability (lighter backgrounds are preferable)
  4. An additional color contrast does not facilitate reading when a sufficient luminance contrast exists
  5. On achromatic background, wavelengths at the extremes of the spectrum are more difficult for text.

As seems to be the annual May ritual, our blogging system was updated. As you are noticing, the design now matches the overall hp.com look with its small white font. I spent a day fixing up old posts that became unreadable due to transparency for a light background, or because the font color was that of the color being discussed, such as International Klein Blue or Blue Iris.

I am very busy, as we are still fighting to get the performance up to the 1600 ppm target, so I took the liberty to take shortcuts, like just dropping transparency. In some places the text might be fuzzy because the anti-aliasing was done on a white background, and I do not have time to redo it on a black background. My apologies, but blog posts are ephemeral.

À propos 1600 ppm, although our blog has been moved from research to technology at home in the HP blog directory, Nathan and I are still totally focused on commercial printing (like the 7000 below, which is our current test device), so do not expect to see our technology on your kitchen table. And our target audience are still our fellow color scientists.

HP Indigo 7000 Digital Press, glow

Monday, May 18, 2009

Prairie dogs chat about colors

Con Slobodchikoff, Northern Arizona UniversityNathan last Friday blogged about humans using animal related colors such as leghorn and elephant's breath. Northern Arizona University's Prof. Con Slobodchikoff (portrayed left) turned the tables: he had similar-sized women (human females) stroll through a prairie dog community wearing yellow, blue, or green T-shirts and listened to the prairie dogs chatting about the shirts' colors.

Analysis of the calls' frequency patterns revealed that the chirps for blue shirts were different from those for yellow and green, which elicited the same calls. The results support the idea that the prairie dogs are incorporating colors into their alarm calls, the researchers report. The prairie dogs' dichromatic vision can distinguish yellow and green from blue but easily confuses yellow with green.

For all the details, read the paper Prairie dog alarm calls encode labels about predator colors in the journal Animal Cognition, Volume 12, Number 3 / Mai 2009.

Nathan's next challenge is to develop a user interface suitable to Gunnison's prairie dog (Cynomys gunnisoni) for his color naming experiment.

Friday, May 15, 2009

Where the sky and the Earth touch

Our blog is different from the other HP blogs in that it is more whimsical, esoteric, and even eschatological. Most of all, it is different because we tend to use images in every post.

Nathan has a fancy camera and we shoot many of our own pictures. Others come from HP's Image & Video Library or from old clip art bought in the early days of the Web. One image that prompted several inquiries is this one:

Camille Flammarion: Un missionnaire du moyen âge raconte qu'il avait trouvé le point où le ciel et la Terre se touchent…

I had no idea of its origin. I can use it legally because I bought with some software on February 13, 1996. However, I cannot remember the circumstances, hence it remained a mystery. One reader of this blog, S. V. of the University College Dublin, finally solved the mystery.

It goes back to Camille Flammarion's 1888 book L'atmosphère: météorologie populaire. The wood engraving is described in the Wikipedia in the entry Flammarion woodcut.

The image shown in the Wikipedia is different from the one above. Our's is missing the title "Urbi et Orbi" and the coloration is different from that of Hugo Heikenwaelder, Vienna 1998.

Wednesday, May 13, 2009

Farewell complex color

Around 1987, I was working in a bustling and teeming research lab. I was traveling relatively little, because every researcher traveling in the area was without fail coming to visit, so I could be an active member of the color science community without having to attend each and every conference.

Since the lab was banking on synergy and serendipity, my work was very focused, which was reflected in my desk:

My office at PARC

There was no clutter because I was working on just one research item. Of course Saturdays were an exception, because after the routine shopping at the farmers market and the almond croissant with coffee at the long defunct Italian bakery at the corner of Waverley and University, I would head to the office and play with ideas from papers read during the week or ideas from conversations in the SF Bay Area color scientists meetings Friday afternoon at the Tied House micro-brewery. Then I would incorporate the best gems into my code library. The desk would get very messy by day's end, but I would clean it up first thing Monday morning.

When in 1990 I changed employer and moved across the street, my role changed. It was my turn to create a bustling organization, teeming with people carefully groomed to magically make synergies and serendipity happen naturally.

Because my work was no longer focused but had to span the large set of interests dear to my new employer, I started building little piles on my desk. Each pile was the accumulation of hot papers on a topic I thought could be of interest for research by somebody in my sphere of influence. I was attending numerous conferences, so the piles grew quickly, until the economic bubble in Japan burst and I was out of a job.

My wife convinced me to stick to my activity of providing direction and to influence research groups, in the hope it would help me find a real job. I also started again reviewing manuscripts, typically over a manuscript per week. This allowed me to be intimately familiar with the research of all color imaging scientists in the world. It also allowed me to easily see the research vectors and who is hitting on all pistons vs. those straying off the path or getting stuck in the sand. More importantly, I could discern the interpolators from the extrapolators, the followers from the leaders.

Typically around April I would consult my piles and attempt a prediction of the future research in color imaging. The result would then be a series of sessions to be held at one or more conferences. With my wife's help I would send out personalized letters to the various scientists explaining the content of a session and how I would like them to contribute a paper on their piece of the work to the conference so it nicely fits in the session. Of course, each session would start with an invited paper from one of the leaders.

On the positive side, this helped my becoming a deus ex machina, invisibly making things happen and steering research without being detected. On the negative side, despite my efforts to operate like a cloaked ninja, my supervisors still felt I had too much visibility for a puny software engineer. It were more principled and distinguished scientists whom such roles would suit.

As corporations and their many organizations meander, activities are terminated, resumed, terminated, etc. in an endless come and go, like a relentless tide in the western style ocean 洋. Hence, a few years after disarticulating myself from all academic activities, I slowly but stealthy slipped into it again, this time into the services of various governmental organizations, influencing very long term research vectors in the benefit of society.

During all this, I kept providing tender love and care to my piles. But then, as the organizational division between the illuminated and the ignorant became more of a chasm that cannot be crossed, I again had to dissociate from my academic activities to focus on optimizing ANSI C code. This time, my piles also had to go!

One by one I gave them my farewell and transferred them into the blue recycling bin kindly provided in my cubicle.

Today is the day to say farewell to one of my more cherished piles: complex color. Most of what color engineers do deals with aperture color, perceived color for which there is no definite spatial localization in depth, such as that perceived as filling a hole in a screen. However, in color imaging we deal mostly with complex color.

To me the difference became exceedingly apparent in a personal experience. I was attending one of the ISCC annual meetings in the early Nineties. One of Smith and Pokorny's student had given an excellent paper presenting some new results in chromatic induction he had obtained in pursuit of his Ph.D. thesis. In the evening of the same day, the conference reception took place in a ballroom that had been recently refurbished. The carpet was in a deep cobalt azure background carrying a tan arabesque design; it looked grand and the decor with the elaborate chandeliers had a certain majestic feel. The tapestry on the walls matched the carpet.

That is, until you were closer to the wall. There you could resolve the pattern in the tapestry, which was a more muted azure with a bright orange filigree. From distance, the carpet and the tapestry matched, but from close they clashed. With what I learned in the student's presentation, this was the start of a precious pile on complex color.

A little later came Stanford's Brian Wandell's research on spacial CIELAB and his student Xuemei Zhang's Ph.D. on S-CIELAB: A Spatial Extension to the CIE L*a*b* DeltaE Color Difference Metric.

At the beginning of the new Millennium, in May 2002 Prof. Lucia Ronchi sent me a large envelope with pieces of colored fabric and a black and white piece of paper. It contained a letter instructing me to mount the fabric pieces on a high-speed fan and observe them. When the fan is accelerated to the highest speed, the letter explained, you will get a succession of colored concentric discs. She found an explanation for the black and white patterns, but not for the colored patterns. It also went onto the complex color pile.

My office at HP Labs

But my most precious paper in the complex color pile is a manuscript for IEEE TIP Todd Ell and Stephen Sangwine wrote early 2005. It came out January First, 2007 under the title Hypercomplex Fourier Transforms of Color Images. I had a brief email exchange with the second author. Their method had a radically new approach, which took them 10 years to research, produce, and create.

Subsequently, several derivative manuscripts — mostly from Asia — crossed my desk, but they did not make it onto my pile, because the authors mostly had downloaded the Matlab code and just played with it, without fully understanding the underlaying theory and not adding a substantial contribution of their own.

Since I stopped a while back tending to my piles, I do not know how the work progressed, but as of 2007 it had a lot of potential. Essentially, the three color coordinates are viewed as the complex parts of a quaternion. The breakthrough was to find a Fourier transform in the quaternion field. They made it practical using the Cayley-Dickson form to represent quaternions, then they invented the symplectic decomposition.

Hypercomplex spectrum of “Lena” image. Clockwise from upper left: original, modulus, phase, and axis.

In the case of quaternions, the hypercomplex spectrum yields a modulus, a phase, and an axis image. I do not know how this is interpreted in color imaging, but I have the sensation it is something powerful. Finding out probably takes two years of playing with their Matlab library to fully understand the underlying mathematics and build an intuition. Then another couple of years to come up with a new insight. With another couple of years to find a solution to a difficult problem and develop an application, this is beyond a Ph.D. thesis assignment. It is also beyond what can be done in a skunkworks project.

In fact I am not even able to understand the meaning of the inverse hypercomplex Fourier transform. The complication is that quaternions are not Abelian in their second operation. One ends up not with a forward an a backward Fourier transform, but a whole graph of relationships between the operators.

Operator graph showing relationship between related transforms. Arrow  denotes “forward” transform in each case.

Ell and Sangwine explain: The above is an operator graph showing a summary of the known relationships between the seven operators. The directed lines indicate forward transforms. Navigating the same line in the opposite direction denotes the corresponding inverse transform. Conjugate and reversal are shown with undirected lines since they are their own inverses. Navigating the graph along an closed path yields the identity operator. Solid points indicate spatial domains and hollow points indicate frequency domains.

さよなら, farewell complex color pile. I hope the recycler will reincarnate you as an important book.

Tuesday, May 12, 2009

Publishing for impact

The compensation of researchers depends on their publications. For example, in China a Principal Investigator's basic yearly salary is several thousand dollars and the basic stipend for grad students is about $500 a year. The rest is made up with productivity-based supplements, and publication boni are part of the productivity-based supplements. Here is some data for the Chinese Academy of Sciences's Institute of Chemistry:

  • Nature or Science: $2500 or more
  • Physical Review Letters or Journal of the American Chemical Society: about $1300
  • Journal with impact factor > 3: about $500
  • Journal with impact factor < 3: less than $200

Boni are divvied according to the author's contributions. In addition, universities also pay productivity-based salaries to professors. [Source: Science, 322, 664-666].

Here at HP Labs we accumulate points and there is a list of the publication venues for which points are given. In our project we can get points if we publish in the ACM Special Interest Group on Computer Graphics and Interactive Techniques Conference, with the caveat that only the first author gets the credit (we are nice to each other and rotate the author sequence).

Since SIGGRAPH rejects 83% (2004) of the submitted manuscripts (see here for comprehensive statistics), and since our work is more D than R, doing a publication that yields points is a very long shot, sort of a fata morgana, or aspirational goal as it is called here in HP.

What is a good strategy to publish in a top journal? At the bottom of this post you will find a table with the 2007 impact factors of journals in the fields related to the posts in this blog. The Cancer Journal for Clinician is just an anchor, to show what can be achieved.

The next two entries are Nature and Science, which we also ignore, because here at HP they are in a category called "publicity" and therefore do not earn points, although it is very hard and labour-intensive to get into them.

You could now think you just start with a submission to the Proceedings of the IEEE and then work yourself down the list until you are no longer rejected, then you lobby with your manager to get some fractional credit. Alas, this is a bad strategy.

The impact factor is computed over two years, and if you really do ground-breaking research, it will take longer for the fruit of your labour to appear on the radar screen. For ground-breaking research you should look for a 10 to 15 year horizon and aim for a total number of citations around 100 before you croak.

You have to think long-term. Ground-breaking research is rejected at first. For example, the Swiss Physicist Albert Einstein came up with Brownian motion, the photoelectric effect, the special theory of relativity, and the general theory of relativity, all around 1905. However, he was not able to land a teaching position at the ETH in Zürich. Instead, he had to work as an examiner at the patent office.

Put yourself in the shoes of the journal's editor. Let us take a big unsolved problem, like the universal solution to the gamut mapping problem, let us call it UGM. One morning you wake up and you have the solution, based on following trajectories on the surface of a manifold over a complex Galois field. It is very computation intensive and you devise an algorithm using massively parallel computation, which your colleague implements on a GPU.

You now have the problem that you have to feed pages rendered with your algorithm to a printer running at 1000 pages per minute. Another colleague comes up with a photon resonator exploiting the photon bandgap, which another colleague implements using nanotechnology to grow it atop a naked GPU chip, so you can beam the separation bitmaps over to the marking engine in a fiber optics cable.

No matter where you submit it, the editor will not have an associate editor understanding the entire manuscript, and will assign it to an associate editor with a short queue. This associate editor will struggle finding reviewers, and unless he or she by chance has worked on the same problem, will not have a good guess, and just assign it to random reviewers from the journal's pool.

Lesson: if you know potential reviewers, let the editor know when you submit the manuscript. Of course they have to be neutral: your boss and your mother are not acceptable.

Since your manuscript will be rejected anyway, do not go by the impact factor. Instead, find out which journal will give you the most constructive reviews. A journal in which you have published before, or a journal with a broad scope will be a better bet. In the UGM case, Optical Engineering might be a good bet, because it covers both photonics and imaging science, while being application oriented.

Also, a new journal will be a good bet for a complex manuscript, because the editor will be more willing to accept a paper from a prestigious scientist, even when it is arcane. A new journal does not yet have an impact factor, therefore receive less submissions and the associate editors have more time to help you with constructive comments.

You get rejected, and submit it to the next journal. Do not just send it in. Instead, revise your manuscript with the good comments from the reviewers. Also, incorporate the new research you did in the meantime, especially that suggested by the reviewers.

Explain your previous rejection and your improvements in the cover letter to the editor. Since there are only few researchers working on UGM, there is a high probability one of the reviewers is the same that rejected your manuscript in the previous journal's submission. Unless you explain yourself, the reviewer will just read the title and inform the editor that you are submitting the same manuscript to multiple journals and you will be black-listed.

Due to the difficult but important nature of UGM in real-time, there is a chance others have come up with a different solution and have also been rejected many times. There is a good chance (associate editors must have good memory) such a researcher will be asked to review your manuscript.

If you have bad luck, the reviewer will be bitter and stick it to you. Do not write a nasty note to the editor, it would be wasted time. Instead, study the review, then use a search engine to sleuth the reviewer's identity. In the subsequent submissions, put the reviewer's name in the list of those to exclude. This is perfectly legitimate and done all the time, even by me.

The other risk you incur is that one of the reviewers takes on your research and publishes it before you, without even citing you because you were not able to publish yet and you are not famous. Therefore, you have to educate the others working on UGM and create publicity for your research. Attend all top conferences and present a paper on a part of the solution, like in our example at one conference you report on manifolds over complex Galois fields for UGM, at the next on massively parallel computing for UGM, at the next on the photon bandgap for UGM, etc. This is known as salami publishing; do it for conferences, but not for papers.

When you select the conferences, look where the action is. For UGM it is not SIGGRAPH, but a lot is happening in China, Japan, and Korea. So you need to travel, and since these days it is hard to get funding, a rich uncle helps, or a spouse in finance, law, or marketing, especially when a native speaker of Mandarin.

Once everybody associates you with your research, it cannot be "stolen." Also, potential reviewers have learned from your conference presentations and have a better chance to understand you "big enchilada" manuscript. Also getting the Turing Award or the Judd Award will help you getting your manuscript accepted; talk to your mentor.

In summary, here is the journal ranking list, but use it wisely, not like a board game. For truly ground-breaking research, rejection is normal: persevere. Disclaimer: I am not working on UGM nor anything else connected to color science or color reproduction, UGM is just an illustrative figment of my imagination.

Journal 2007
impact factor
Cancer Journal for clinicians 69.026
Nature 28.751
Science 26.372
Proceedings of the IEEE 3.820
Journal of Vision 3.791
Optics Letters 3.711
Optics Express 3.709
Applied Physics Letters 3.596
IEEE Transactions On Pattern Analysis And Machine Intelligence 3.579
ACM Transactions on Graphics 3.413
International Journal of Computer Vision 3.381
New Journal of Physics 3.264
IEEE Transactions on Image Processing 2.462
Real-Time Imaging 2.270
Vision Research 2.055
Journal of the Optical Society of America B - Optical Physics 2.030
Pattern Recognition 2.019
SIAM Journal on Scientific Computing 1.784
Journal of the Optical Society of America A - Optics, Image Science and Vision 1.776
Applied Optics 1.701
Communications of the ACM 1.593
IEEE Internet Computing 1.551
IEEE Transactions on Multimedia 1.518
SIAM Journal on Numerical Analysis 1.470
Computer Vision and image Understanding 1.417
IEEE Computer Graphics and Applications 1.398
Computer 1.367
IEEE Transactions on Systems Man and Cybernetics Part B-Cybernetics 1.353
SIAM Journal On Computing 1.310
Journal Of Mathematical Imaging And Vision 1.220
Image and Vision Computing 1.027
Electronics Letters 1.009
IEEE Spectrum 0.933
Pattern Recognition Letters 0.853
Journal of Visual Communication and Image Representation 0.832
Optical Engineering 0.757
Signal Processing 0.737
Journal of Digital Imaging 0.717
Journal of Imaging Science and Technology 0.707
Optical Review 0.683
SIAM Journal on Discrete Mathematics 0.674
Color Research and Application 0.619
EURASIP Journal on Advances in Signal Processing 0.619
Pattern Analysis And Applications 0.515
International Journal Of Imaging Systems And Technology 0.482
Journal of Electronic Imaging 0.455
Optik 0.385
International Journal Of Pattern Recognition And Artificial Intelligence 0.374
World Wide Web-Internet and Web Information Systems 0.300
Imaging Science Journal 0.220
SMPTE Motion Imaging Journal 0.088
IET Image Processing

Man and woman at table reading book together with bookshelves in background

Thursday, May 7, 2009

Comparing citations and downloads

The April issue of the Journal of Vision has an interesting editorial on comparing citations and downloads for individual articles. Beau concludes that download statistics provide a useful indicator, two years in advance, of eventual citations. Downloads are also a useful measure in their own right of the interest and significance of individual articles.

For me, these download statistics have always been spooky. In a post of 5 March 2007, I was puzzled about the interest in an old tech. report on a Professional Portrait Studio for Amateur Digital Photography, which is totally outdated. It was written when amateur cameras had no more than 6 effective bits per pixel per channel, low sensitivity, and most of all, an amazing shutter lag of 4-6 seconds.

The download wave started in January 2006, and since then it has been in the top 10 downloads almost every month. How can 400 hundred people a month be interested in it?

Then, in October 2008 an equally misterious wave of downloads started for Spectrophotometer Calibration and Certification. That is a quite arcane subject, with not many people interested in it. However, it remains in the top 10 downloads, with 586 downloads just in the last month of April. What is going on?

In the old days, when publication was on paper, things were easier to explain. For example, in 1996 I cooked up in a few days and under pressure a tech. report with the suggestive title W3 + Structure = Knowledge. More than 300 people sent cards to HP ordering a copy of the report. This was when a tipical report averaged less than 10 requests and only the report on the C++ standard template library had received more requests.

But it was understandable. In June 1996 the dot-com boom was in full swing and companies were running big advertisment campains claiming to be the dot in .com or describing how the Internet was a tsunami. Except for HP, who was totally mum about the Internet. So, it is understandable that when the first HP publication with Internet as a keyword appeared, people would jump on it.

When a few months later I rewrote it under the title Internet's Impact on Publishing, it had the same popularity. Then I rationalized that since the previous report was mostly hot air, people just wanted to see if HP really has nothing up the sleeve. In fact, when I rewrote it once more under the title Structure and Navigation for Electronic Publishing, it went totally unnoticed.

In summary, I can understand the old order logic, but not the modern download logic. Do you have any insights you can share?

Woman searching for book on bookshelf

Tuesday, May 5, 2009

The performance myth

After a few years of developing in Java then in Matlab, I am now back maintaining code written in ANSI C. Mind you, the code is masterfully architected and written, you could not write it better in Smalltalk. This is industrial strength code that is expected to be very robust and highly performant.

Programmers often state you can write much faster code in C than in Java. As I implement my changes and additions, I find myself having to write ancillary code taking care of variable initialization, bounds checking, and object finalization. Also, I get bitten by side-effects while running regression tests.

Once I have added that ancillary code, a C program is no longer faster than a Java program. In fact in Java those functionalities are taken care of through very tightly written code in the run time system. It runs more efficiently than the code I can write while keeping the product price still within target and meeting shipping deadlines.

The dirty secret is that in C you can write lousy code that skips steps like variable initialization, bounds checking, and object finalization. This way you get faster code, but you leave open doors for malicious hackers. Also, debugging and maintenance of such code is much more expensive.

Speaking of code expense, although programmers are cheap, my time spent writing and debugging that ancillary code is also a cost.

In summary, you can write equally efficient commercial programs in Fortran, C, C++, C#, Smalltalk, Java, and others. If you are a good architect and frugal programmer, the programs will be surprisingly similar in style and performance. However, the more modern a language is, the less time it will take you to get there, and the less ugly code written by others you will encounter.

Vintage cars can be sexy, but I prefer the comfort of airbags, antilock brakes, traction control, and electronic fuel injection.

Operator programming a PDP-6 using papertape

1964: Tops 10 is developed as the major user software interface for Digital's 36-bit machines. Tops 10 was developed from a 6-K word monitor for the PDP-6. It included user files and I/O device independence, and a command control program.