package edu.stanford.rsl.apps.gui.roi;
import ij.IJ;
import ij.gui.Line;
import ij.gui.Plot;
import edu.stanford.rsl.conrad.utils.FFTUtil;
import edu.stanford.rsl.conrad.utils.VisualizationUtil;
/**
* Measures the MTF at a regular inlay pattern.
*
* @author akmaier
*
*/
public class MeasurePatternMTF extends EvaluateROI {
@Override
public Object evaluate() {
if (configured) {
if (roi instanceof Line){
Line line = (Line) roi;
double [] pixels = line.getPixels();
//VisualizationUtil.createPlot("Edge", edge).show();
double [] fft = FFTUtil.fft(pixels);
Plot plot = VisualizationUtil.createHalfComplexPowerPlot(fft, "Edge MTF of " + image.getTitle());
try {
plot.show();
} catch (Exception e){
System.out.println(plot.toString());
}
}
}
return null;
}
public void configure() throws Exception {
image = IJ.getImage();
roi = image.getRoi();
if (roi != null){
configured = true;
}
}
@Override
public String toString() {
return "Measure MTF of a pattern";
}
}
/*
* Copyright (C) 2010-2014 - Andreas Maier
* CONRAD is developed as an Open Source project under the GNU General Public License (GPL).
*/