Měření

Měření Kateřina Eliášová Čt, 16.04.2020 - 18:39

 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");
}

 

1 - Vstupní obrázek a jeho kopie

1 - Vstupní obrázek a jeho kopie Kateřina Eliášová Ne, 19.04.2020 - 23:12

V ImageJ jsme otevřeli hyperstack s pravděpodobnostními mapami všech tříd, který jsme získali segmentací obrazu pomocí TWS. Rozdělili na jednotlivé mapy (Image>Stacks>Stack to Images) a vytvořili kopii pravděpodobnostní mapy "buňky s fenoly" (Image>Duplicate).

2 - Prahování a ROI oblasti buněk s fenoly

2 - Prahování a ROI oblasti buněk s fenoly Kateřina Eliášová Ne, 19.04.2020 - 23:38

Původní pravděpodobnostní mapu buněk s fenoly jsme naprahovali červeně tak, abychom vyznačili oblast buněk s fenoly (Image>Adjust>Threshold AUTO). Do červené oblasti jsme klikli kouzelnou hůlkou (magic wand v nástrojovém menu ImageJ). Vytvořil se malý částečný ROI. Abychom získali ROI celé oblasti, nastavili jsme výběr (Edit>Selection>Create Selection). Otevřeli jsme ROI manager (Analyze>Tools>ROI manager) a přidali do něj vyznačenou oblast (Add, možno udělat i klávesovou zkratkou t), kterou jsme vzápětí přejmenovali (Rename) "phenolics" .

3 - Prahování a získání ROI celého řezu

3 - Prahování a získání ROI celého řezu Kateřina Eliášová Ne, 19.04.2020 - 23:25

Zkopírovanou pravděpodobnostní mapu jsme naprahovali tak, aby byl vyznačený celý řez pletivem (Image>Adjust>Threshold; zaklikli jsme AUTO, čímž se vyznačila oblast s fenoly a pak jsme upravili práh tak, aby červená zakryla pokud možno celý řez). Poté jsme klikli kouzelnou hůlkou (magic wand v nástrojovém menu ImageJ) do červené oblasti - vyznačil se žlutě ROI kolem celého řezu. Otevřeli jsme ROI manager (Analyze>Tools>ROI manager) a přidali do něj vyznačenou oblast (Add, možno udělat i klávesovou zkratkou t), kterou jsme vzápětí přejmenovali (Rename) "Full", jako celý řez.

4 - Měření plochy ROI

4 - Měření plochy ROI Kateřina Eliášová Ne, 19.04.2020 - 23:48

Nastavili jsme parametry měření (Analyze>Set measurements) - zaškrtli jsme AREA a DISPLAY LABELS. V ROI manageru jsme zvolili Deselect (abychom neměřili plochu jen v jednom zvoleném ROI, ale v obou) a následně Measure. Získali jsme tabulku se změřenými plochami obou ROI, kterou je možné uložit jako soubor Excel. 

Celý postup prahování, vytvoření ROI a změření jejich plochy je ke shlédnutí v přiloženém videu.