1 hour ago
(This post was last modified: 57 minutes ago by npcompl33t.)
(1 hour ago)eggyk wrote: You are not allowed to view links. Register or Login to view.(3 hours ago)npcompl33t wrote: You are not allowed to view links. Register or Login to view.The B&W image here was simply the raw PCA 3 output, using the 21 aligned multispectral captures of f116v, covering visible, UV and infrared imaging. Each capture was background-normalized using a Gaussian estimate (σ = 45 pixels), then standardized before PCA. PCA3 represents the third-largest pattern of variation across those captures and is not a single wavelength or a particular ink.
What does this actually mean? Background normalised? Standardised? PCA3 across those captures?
I still don't know which scans you are processing, and how you are processing them exactly. None of the raw 870nm IR scans I have look like the one you show in your post. I'm not trying to be difficult; it would just be good for others to be able to reproduce what your model has.
PCA = Principle Component Analysis, PCA 3 = the third largest principle component.
its a standard multidimensional analysis technique You are not allowed to view links. Register or Login to view.. I believe some of the published processed MSI use PCA. Explaining how PCA works is frankly beyond what I am willing to do in a single post here, if you just google PCA Image analysis you will find many resources explaining it. It does not correlate to a single band, which is why you can't find it in a single band, it identifies patterns that appear to move together across the entire image.
I attached a python script for reproducing the output pixel by pixel.
The inputs were the original 16-bit You are not allowed to view links. Register or Login to view. TIFFs from the Lazarus Project/RIT release: captures numbered 001–022, excluding Voynich_116v+MB940IR_012_F.tif, which failed some alignment acceptance criteria. The exact filenames are in the attached files. The 870 nm input was Voynich_116v+MB870IR_011_F.tif, but the posted PCA3 image combines 21 captures.
Here is specifically how it was created:
- Crop and alignment: Each capture was rotated 90° counterclockwise and cropped to the same marginalia rectangle: x=2400–6050, y=590–1510, giving 3650 × 920 pixels. Small horizontal/vertical shifts aligned the captures to the 450 nm image, using bilinear interpolation.
- Background normalization: For each aligned capture, a heavily blurred copy estimated broad background brightness. The calculation was
J = ln(I) − ln(GaussianBlur(I, σ=45 pixels))
, with intensities clamped above zero. In ordinary terms, this expresses brightness relative to the surrounding area. The blurred copy supplies the background estimate; it is not the output image. This can also alter broad stains and marks—it does not isolate “pure parchment.”
- Standardization: Each normalized capture had its mean subtracted and was divided by its standard deviation. Those statistics came from every third pixel in both directions within the crop. This puts the captures on comparable numerical scales before PCA.
- PCA: At each pixel location there are now 21 measurements, one from each capture. PCA calculates weighted combinations of those measurements, using both positive and negative weights. PCA3 is the combination associated with the third-largest variance. The same weights apply throughout the image; no letters or proposed reading were supplied.
- Display: The component’s sign was chosen so visible writing tends to appear dark. Its 0.5th–99.5th percentile range was then stretched to 8-bit grayscale. No final smoothing, sharpening or reconstructed strokes were applied.
That explains why this image does not resemble an untouched 870 nm scan.


