ImageJでフォルダ内の画像をFFTを行い、すべてのFFT画像のpixごとの積をとった画像を出力するマクロ。

// FFTを行うために、ImageJのFFTプラグインをインポートします
import ij.plugin.FFT;

// フォルダ内の画像をすべて取得するために、ImageJのFileInfoクラスをインポートします
import ij.io.FileInfo;

// 画像を表示するために、ImageJのImagePlusクラスをインポートします
import ij.ImagePlus;

// マクロ開始

// 指定されたフォルダパス
String path = "C:\myfolder\images";

// フォルダ内の画像を取得します
FileInfo[] info = ij.io.Opener.getFileInfo(path);

// FFTオブジェクトを作成します
FFT fft = new FFT();

// 画像を保存するためのImagePlusオブジェクトを作成します
ImagePlus img = new ImagePlus();

for (int i = 0; i < info.length; i++) {
  // 画像を読み込みます
  img = ij.io.Opener.openImage(info[i]);

  // FFTを実行します
  fft.run(img);

  // FFT画像を取得します
  ImagePlus fftImage = fft.getFFTImage();

  // pixごとの積をとった画像を出力します
  img.setProcessor(fftImage.getProcessor().convertToFloat().mul(fftImage.getProcessor()));
  img.show();
}

いいなと思ったら応援しよう!