How do I create PCA images from a stack in Fiji? (Evaluating options for upgrade from older ImageJ)


The imaging specialist in my division has been using an old version of ImageJ to create PCA images from multispectral stacks (registered 8 and 16 bit mono images, from UV, Vis., and IR) with PaleoToolbox, and sometimes BIJ’s PCA for demonstration purposes.


During this lockdown we’ve been looking at Fiji as an update/upgrade, and for the ‘batteries included’ features, but can’t find any straightforward way to generate PCA images from a stack within Fiji.

The only functioning method we’ve found is with the MSA_514 plugin:

But the results we’re getting are not quite as good as we’ve had in the past:

  • limited number of genuinely different derivatives compared with earlier methods, and
  • an apparent lack of support for 16 bit images.

I’ve searched the forums a bit, and have found discussions around much more complicated goals than what I think we’re trying to achieve here. I also looked into the FlowJ / BIJ code ported to Fiji, and see at least some of the code for generating PCA is still included. It’s been years since I’ve done anything in Java – I’m not really sure where to start, quite frankly.

Is there a (reasonably) straightforward means for creating PCA images from stacks in Fiji? Or, should we stick with ImageJ v1 and the plugins that work there?

Any thoughts, suggestions, would be very much appreciated,


Why not use the ‘old’ plugins in FIJI?
Have you tested if they can be used in FIJI?

I also would like to run PCA on my 16-bit TIFF multispectral images. Any advice? I would have tried to run the ‘old’ plugin in Fiji but I cannot find it. Could someone please share the link?

Thank you very much!