Příprava obrázku před tréninkem klasifikátoru

V ImageJ je možné otevřít a analyzovat snímky v nejrůznějších formátech. Obecně doporučen jako vhodný je formát TIFF, naopak jako nevhodný pro analýzu (protože při ukládání do tohoto formátu dochází ke ztrátě dat) je JPEG. Většina mikroskopiků nicméně získává snímky primárně ve formátu, do kterého ukládají snímky ovládací programy jejich mikroskopů. Tyto tzv. bio-formáty (např. ZEISS -.czi a .lsm; Laboratory imaging - .lim; NIS-Elements- .jp2 a .nd2) v ImageJ bez problémů otevřete a zanalyzujete.

My jsme snímali obrázky pomocí programu NIS-Elements ve formátu JPEG 2000, tedy s koncovkou .jp2, ve vysokém rozlišení. Abychom mohli snímky analyzovat, bylo třeba je nejprve upravit. Tyto úpravy ukazujeme v této kapitole v pěti podřízených lekcích. 

Pokud vaše výchozí originální snímky budou uloženy v jiném formátu s jiným rozlišením apod., nebude možná nutné snímky upravovat. Je třeba to vyzkoušet. Obecně platí, že příliš velké snímky s velkým rozlišením se touto metodou obtížně analyzují a segmentace obrazu vůbec nepůjde nebo bude trvat neúměrně dlouho. Celý proces také závisí na vlastnostech počítače.

Proces úpravy snímku jsme zaznamenali v záznamníku ImageJ (Plugins>Macro>Record) a vytvořené Makro přikládáme. Můžete si ho stáhnout a spustit v ImageJ v nabídce Plugins>New>Macro vložením a "Run".

 


 

 

 

// Makro pro přípravu souboru JP2 před tréninkem.
//

// Uživatel vybere soubor, pravděpodobně s příponou JP2.
path = File.openDialog("Select a JP2 File");

// 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) + " (prepared)";

// Připraví soubor.
lbac_prepare_image(path, results_name);

CloseAllWindows();

message_title = "Obrázek je připraven pro trénink";
message = "Obrázek '" + orig_image_title + "' je připraven pro trénink pod jménem '" + results_name + ".tif'";
showMessage(message_title, message);


/**
 *Funkce pro přípravu obrázku.
 */
function lbac_prepare_image(path, new_image_title) {

    // Převede do RGB.
    run("RGB Color");   

    // Upraví měřítko.
    run("Scale...", "x=0.5 y=0.5 width=1280 height=960 interpolation=Bilinear average create");
    
    // Upraví kontrast a LUT (look-up table).
    //
    run("Brightness/Contrast..."); 
    title = "Adjust Brightness/Contrast";
    msg = "V dialogu B&C upravte nastavení jasu a kontrastu a potvrďte 'Apply'.\nPro pokračování klepněte na 'OK'.";
    waitForUser(title, msg);
    getMinAndMax(min,max);  // Returns the minimum and maximum displayed pixel values (display range).
    if (min != 0 && max != 255) {  // Check if the display has been changed.
        run("Apply LUT"); 
    }
    selectWindow("B&C");
    run("Close");

    // Přejmenuje a uloží VÝSLEDNÝ soubor ve formátu tif.
    saveAs("tif", new_image_title);
}

// "Close All Image Windows"
function CloseAllWindows() { 
    while (nImages>0) {
       selectImage(nImages);
       close(); 
    } 
}