color deconvolution question

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

color deconvolution question

talich
I've been using ImageJ color deconvolution plug-in by Gabriel Landini for some IHC stained image.

After playing it for a while and reading the paper by Ruifrok and Johnson, I have two questions regarding the method and implementation.

The first question is a general question on the approach.

I notice that based on Ruifork and Johnson, "we have to do an orthonormal transformation of the RGB information".  However,  the OD vectors are only normalized, but they are definitely not orthogonal. For example, the example shown in the paper is
[0.65 0.70 0.29]
[0.07 0.99 0.11]
[0.27 0.57 0.78]

Actually I'm not sure why it has to be normalized.  Ruifork and Johnson claimed that the normalization is "to achieve correct balancing of the absorbtion factor for each separate stain."

But the normalization means the squared sum is unit.  Why not just make the L1 sum as unit 1? What's the reasoning behind it?

The second question is on the implementation of plug-in for two-stain case.

I understand if only two stains are available, the third vector is calculated as the orthogonal to the
other 2.  However, my question is, the computation provided in the plug in does not give you an orthogonal vector.  It only ensures the it's a unit vector.  

To use Ruifork and Johnson's terminology, If the two known vectors are [p11, p12, p13], [p21, p22, p23], then the third vector computed by the plug-in of Landini is roughly:
p31 = (1-p11^2-p21^2)^0.5
p32 = (1-p12^2-p22^2)^0.5
p33 = (1-p13^2-p23^2)^0.5

To have an orthogonal vector, clearly you have to use the cross-product, which is
p31 = p12*p23 - p13*p22
p32 = p13*p21 - p11*p23
p33 = p11*p22 - p12*p21

and normalize, if not unit vector.

The orthogonal vector by cross-product will give you some vector with negative value, hence no physical meaning. And the final deconvolution values are like the ones obtained through Linear Least Square (LLS), i.e., if OD matrix M is
[p11, p12, p13]
[p21, p22, p23]

Then the color-deconvolution matrix D is
(M'M)^-1 M'

Can anyone provide more detailed explanation on this? Thanks