jm.sit
Class SITAnalysis

java.lang.Object
  |
  +--java.lang.Thread
        |
        +--jm.sit.SITAnalysis
All Implemented Interfaces:
java.lang.Runnable

public class SITAnalysis
extends java.lang.Thread

Klasse zur Berechnung der Signal-Intensitaets-Zeit-Kurven. Realisiert die Pixelklassifizierung fuer Neirenrinde und Nierenmark. Wird von der Klasse AnalysisDialog aufgerufen und benoetigt die Klasse SITResults zur Darstellung der berechneten Ergenisse in einm Dialogfenster

See Also:
AnalysisDialog, SITResults

Field Summary
 double[] acquisitionTimes
           
 AnalysisDialog analysisDialog
           
 boolean[] autoClassification
           
 double[] classTresholdCortex
           
 double[] classTresholdMedulla
           
 double[] classTresholdPelvis
           
 double devScaleFactor
           
 boolean error
           
 boolean finished
           
 ij.ImagePlus ipLeftKidney
           
 ij.ImagePlus ipRightKidney
           
 ij.ImagePlus leftRefImage
           
 boolean[] noRois
           
 int[] pixelCountCortex
           
 int[] pixelCountKidney
           
 int[] pixelCountMedulla
           
 ij.ImagePlus rightRefImage
           
 SITResults sitResults
           
 boolean stopRunning
           
 int[] surfaceCortex
           
 int[] surfaceKidney
           
 int[] surfaceMedulla
           
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
SITAnalysis(AnalysisDialog dlg)
          Der Konstruktor.
 
Method Summary
 void calcPixelCurve(int half, int tissue)
          Berechnet der SIT-Kurven fuer Nierenmark und Nierenrinden entsprechend der Klassifizierung der Pixel.
 void classifyPixels(int half, double thresholdPelvis, double thresholdMedulla, double thresholdCortex)
          Fuehrt die Klassifizeirung der Pixel durch.
 void initResultWindow(int half)
          Initialisiert das Dialog-Fenster zur Anzeige der berechneten Kurven.
 void run()
          Haupt-Berechnungsmethode der Klasse.
 void setAdjustmentRange(double min, double max)
          Setzt den Wertebereich, innerhalb dem die Schwellenwerte veraendert werden koennen.
 void setMinMaxAxisValues(int tissue)
          Berechnet der minimalen und maximalen Intensitaetswerte der SIT-Kurven.
 void setStartImage(int n)
          Hilfsmethode.
 void setVerbose(boolean v)
          Hilfsmethode.
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getContextClassLoader, getName, getPriority, getThreadGroup, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setName, setPriority, sleep, sleep, start, stop, stop, suspend, toString, yield
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

devScaleFactor

public double devScaleFactor

analysisDialog

public AnalysisDialog analysisDialog

sitResults

public SITResults sitResults

rightRefImage

public ij.ImagePlus rightRefImage

leftRefImage

public ij.ImagePlus leftRefImage

pixelCountKidney

public int[] pixelCountKidney

pixelCountMedulla

public int[] pixelCountMedulla

pixelCountCortex

public int[] pixelCountCortex

surfaceKidney

public int[] surfaceKidney

surfaceMedulla

public int[] surfaceMedulla

surfaceCortex

public int[] surfaceCortex

acquisitionTimes

public double[] acquisitionTimes

ipLeftKidney

public ij.ImagePlus ipLeftKidney

ipRightKidney

public ij.ImagePlus ipRightKidney

autoClassification

public boolean[] autoClassification

noRois

public boolean[] noRois

stopRunning

public boolean stopRunning

finished

public boolean finished

error

public boolean error

classTresholdPelvis

public double[] classTresholdPelvis

classTresholdMedulla

public double[] classTresholdMedulla

classTresholdCortex

public double[] classTresholdCortex
Constructor Detail

SITAnalysis

public SITAnalysis(AnalysisDialog dlg)
Der Konstruktor. Er bekommt eine Referenz auf das Hauptfenster der renalen Funktionsanalyse uebergeben, um Zugriff auf dortige Funktionen und Variablen zu haben.

Parameters:
dlg - Die Referenz auf das Plugin-Hauptfenster
Method Detail

setStartImage

public void setStartImage(int n)
Hilfsmethode. Legt fest, bei welchem Bild der Sequenz mit den Berechnungen begonnen werden soll. Wird vor dem Start der Berechnungen mit dem im Voreinstllungs-Dailog angegebenen Wert aufgerufen.

Parameters:
n - die Bildnummer innerhalb der Sequenz.

run

public void run()
Haupt-Berechnungsmethode der Klasse. Wird aufgerufen, wenn der Thread gestartet wird. Implementiert die abstrakte run-Method der Klasse Thread.

Specified by:
run in interface java.lang.Runnable
Overrides:
run in class java.lang.Thread

setMinMaxAxisValues

public void setMinMaxAxisValues(int tissue)
Berechnet der minimalen und maximalen Intensitaetswerte der SIT-Kurven. Diese werden dem Dialog zur Darstellung der Kurven uebergeben und die dortigen Koordinatensysteme entsprechend angepasst. So koennen die Kurven immer optimal zur die Bildschirmanzeige dargestellt werden.

Parameters:
tissue - die Gewebeart (0=ganze Niere | 1=Medulla | 2=Cortex)

initResultWindow

public void initResultWindow(int half)
Initialisiert das Dialog-Fenster zur Anzeige der berechneten Kurven. Die Berechneten Kurvenwerte werden als Arrays uebergeben, ausserdem werden die Dimensionen der Koordinatensysteme zur Anzeige gesetzt.

Parameters:
half - die Bildhaelfte, entsprechend der Niere (0=links | 1=rechts)

classifyPixels

public void classifyPixels(int half,
                           double thresholdPelvis,
                           double thresholdMedulla,
                           double thresholdCortex)
Fuehrt die Klassifizeirung der Pixel durch. Benoetigt zur Berechnung zwei ImagePlus-Klassifizierungsbilder, in denen die Pixel entsprechend der Klassifizierung eingefaerbt werden sowie zwei Hilfsbilder, die die Entfernung der Pixel von Schwerpunkt dier Nieren sowie die Werte des mittleren Grauwert- Anstiegs enthalten.

Parameters:
half - die Bildhaelfte, entsprechend der Niere (0=links | 1=rechts)
thresholdPelvis - der Schwellenwert zur Einstellung der Gewebegrenze zwischen Nierenbecken und Nierenmark
thresholdMedulla - der Schwellenwert zur Einstellung der Gewebegrenze zwischen Nierenmark und Nierenrinde
thresholdCortex - der Schwellenwert zur Einstellung der Gewebegrenze zwischen Nierenrinde und dem die Niere imgebenden Gewebe

calcPixelCurve

public void calcPixelCurve(int half,
                           int tissue)
Berechnet der SIT-Kurven fuer Nierenmark und Nierenrinden entsprechend der Klassifizierung der Pixel. Da die Ergebnisse der Klassifizierung in einem zweidimensionalen Array als Klassenvariable angespeichert sind, braucht sie nicht als Parameter mit uebergeben werden.

Parameters:
half - die Bildhaelfte, entsprechend der Niere (0=links | 1=rechts)

setAdjustmentRange

public void setAdjustmentRange(double min,
                               double max)
Setzt den Wertebereich, innerhalb dem die Schwellenwerte veraendert werden koennen. Die Schwellenwerte werden mit 1,0 intialisiert. Der min- und max-Wert wird durch die Einstellungen im Voreinstellungs-Dialog (jm.kidney.PresetsDialog) festgelegt.

Parameters:
min - der minimal erlaubte Wert
max - der maximal erlaubte Wert

setVerbose

public void setVerbose(boolean v)
Hilfsmethode. Legt fest, ob Zwischenergebnisse in textueller Form im ImageJ-Hauptfenster ausgegeben werden sollen.

Parameters:
v - true, wenn Text ausgegeben werden soll.