top of page

Misura noise e SNR con ImageJ

Procedura

Scarica ImageJ : https://imagej.net/ij/

Installa ImageJ e apri un immagine

Sai sul menu PLUGINS/NEW/MACRO. Nell'editor delle macro in colla il testo qui sotto (clicca su Show More), salva il file e poi clicca su RUN MACRO : var titolo = "Analisi Rumore e SNR"; // 1. Controlla se c'è un'immagine aperta. if (nImages() == 0) { exit("Errore: Nessuna immagine aperta. Per favore, apri un'immagine prima di eseguire la macro."); } // 2. Chiede all'utente di selezionare l'area di RUMORE (sfondo). waitForUser("Step 1/2: Selezione Rumore", "Disegna un rettangolo su un'area di RUMORE (sfondo uniforme)\n" + "e premi 'OK'."); // Controlla se è stata fatta una selezione. if (selectionType() < 0) { exit("Operazione annullata: Nessuna area di selezione per il rumore è stata creata."); } // Memorizza le statistiche del rumore. getStatistics(area, mean, min, max, stdDev); var rumoreStdDev = stdDev; var rumoreMean = mean; run("Select None"); // Deseleziona per prepararsi al prossimo step. // 3. Chiede all'utente di selezionare l'area di SEGNALE. waitForUser("Step 2/2: Selezione Segnale", "Ora disegna un rettangolo su un'area di SEGNALE\n" + "(l'oggetto di interesse) e premi 'OK'."); // Controlla se è stata fatta una selezione. if (selectionType() 0) { snr = (segnaleMean - rumoreMean) / rumoreStdDev; } // 5. Prepara e mostra il report completo. var report = "--- Risultato Analisi Rumore e SNR ---\n" + "Immagine: " + getTitle() + "\n" + "---------------------------------------\n" + "Rumore (Dev. Standard sfondo): " + d2s(rumoreStdDev, 3) + "\n" + "Media Sfondo: " + d2s(rumoreMean, 3) + "\n" + "Media Segnale: " + d2s(segnaleMean, 3) + "\n" + "Rapporto Segnale/Rumore (SNR): " + d2s(snr, 3); showMessage(titolo, report); // 6. Scrive il report anche nella finestra di Log. print(report); // 7. Deseleziona l'area per non lasciare l'immagine modificata. run("Select None"); // --- FINE MACRO ---

Immagine macro 1
Immagine Macro 2
Immagine macro 3
Immagine macro 4
bottom of page