V této kapitole ukážeme, jak můžeme výsledky segmentace obrazu využít ke kvantitativní analýze. Výchozí obrázek pro měření bude hyperstack čtyř pravděpodobnostních map, který byl výsledkem segmentace obrazu pomocí klasifikátoru.
Celý proces provede přiložené makro. Můžete ho spustit v ImageJ v nabídce Plugins>New>Macro vložením a "Run".
// Makro prahování, tvorba ROI, měření včetně otevření hyperstacku a duplikace mapy buněk s fenoly
// http://lbac.ueb.cas.cz/strana-knihy/mereni
//
// Uživatel vybere soubor, pravděpodobně s příponou TIF.
path = File.openDialog("Select probability maps TIF File");
cell_with_phenolics_image_name = "cell with phenolics";
Dialog.create("Confirm image name");
Dialog.addMessage("Prosím, potvrďte nebo upravte název obrázku pro měření.\n ");
Dialog.addString("Název obrázku:", cell_with_phenolics_image_name, 25);
Dialog.show();
cell_with_phenolics_image_name = Dialog.getString();
// Otevře soubor.
open(path);
// Připraví název výsledného souboru.
orig_image_title = getTitle();
dotIndex = indexOf(path, ".");
results_name = substring(path, 0, dotIndex) + " (measurement results)";
// Měří.
lbac_measurement_area(path, cell_with_phenolics_image_name, results_name);
message_title = "Výsledek měření byl uložen";
message = "Výsledek měření byl uložen do souboru " + results_name
+ "\nOkna s obrázky budou zavřena bez ukládání.";
showMessage(message_title, message);
while (nImages>0) {
selectImage(nImages);
close();
}
/**
* Změří a uloží výsledky do CSV.
*/
function lbac_measurement_area(path, image_name, results_file_title) {
run("Stack to Images");
selectWindow(image_name);
run("Duplicate...", " ");
setAutoThreshold("Default dark");
//run("Threshold...");
//setTool("wand");
doWand(1054, 318);
run("Create Selection");
// ROI - region of interest
run("ROI Manager...");
roiManager("Add");
roiManager("Select", 0);
roiManager("Rename", "phenolics");
selectWindow(image_name);
setAutoThreshold("Default dark");
//setTool("wand");
doWand(1094, 414);
roiManager("Add");
roiManager("Select", 1);
roiManager("Rename", "full");
roiManager("Deselect");
run("Set Measurements...", "area display redirect=None decimal=3");
roiManager("Measure");
saveAs("Results", results_file_title + ".csv");
}