Difference between revisions of "User talk:Haehn"

From NAMIC Wiki
Jump to: navigation, search
Line 18: Line 18:
 
<pre>
 
<pre>
 
${SIGMA_MIN}=$const(1.0)
 
${SIGMA_MIN}=$const(1.0)
${SIGMA_MAX}=$const(4.0)
+
${SIGMA_MAX}=$const(5.0)
 
${SIGMA_STEPS}=$const(10)
 
${SIGMA_STEPS}=$const(10)
 
${ALPHA}=$range(0.1,0.5,0.1)
 
${ALPHA}=$range(0.1,0.5,0.1)
Line 28: Line 28:
 
${OUTPUT}=$const(/Volumes/DATA2/dhaehn/gwe-results/${FILE}-${TYPE}-out-${SIGMA_MIN}-${SIGMA_MAX}-N${SIGMA_STEPS}-${ALPHA}-${BETA}-${GAMMA}.nrrd)
 
${OUTPUT}=$const(/Volumes/DATA2/dhaehn/gwe-results/${FILE}-${TYPE}-out-${SIGMA_MIN}-${SIGMA_MAX}-N${SIGMA_STEPS}-${ALPHA}-${BETA}-${GAMMA}.nrrd)
  
${SLICER_HOME}/Slicer3 --no_splash --evalpython "import sys; from Slicer import slicer; sys.path.append(str(slicer.Application.GetExtensionsInstallPath())+'/'+str(slicer.Application.GetSvnRevision())+'/VMTKVesselEnhancement/VMTKVesselEnhancement'); from SlicerVMTKVesselEnhancementGUI import *; hiddengui = VMTKVesselEnhancement(); from SlicerVMTKVesselEnhancementLogic import *; vesselness=SlicerVMTKVesselEnhancementLogic(hiddengui); volNode=slicer.VolumesGUI.GetLogic().AddArchetypeVolume('${INPUT}','Vessels',0); matrix = slicer.vtkMatrix4x4(); volNode.GetIJKToRASMatrix(matrix); outVolumeData = vesselness.ApplyFrangiVesselness(volNode.GetImageData(),${SIGMA_MIN},${SIGMA_MAX},${SIGMA_STEPS},${ALPHA},${BETA},${GAMMA}); outputNode=slicer.MRMLScene.CreateNodeByClass('vtkMRMLScalarVolumeNode'); volumeNode=slicer.MRMLScene.AddNode(outputNode); volumeNode.SetAndObserveImageData(outVolumeData); volumeNode.SetIJKToRASMatrix(matrix); volumeNode.SetModifiedSinceRead(1); slicer.VolumesGUI.GetLogic().SaveArchetypeVolume('${OUTPUT}',volumeNode); Slicer.tk.eval('exit 0');"
+
${SLICER_HOME}/Slicer3 --no_splash --evalpython "import sys; from Slicer import slicer; sys.path.append(str(slicer.Application.GetExtensionsInstallPath())+'/'+str(slicer.Application.GetSvnRevision())+'/VMTKVesselEnhancement/VMTKVesselEnhancement'); from SlicerVMTKVesselEnhancementGUI import *; hiddengui = VMTKVesselEnhancement(); from SlicerVMTKVesselEnhancementLogic import *; vesselness=SlicerVMTKVesselEnhancementLogic(hiddengui); volNode=slicer.VolumesGUI.GetLogic().AddArchetypeVolume('${INPUT}','Vessels',0); matrix = slicer.vtkMatrix4x4(); volNode.GetIJKToRASMatrix(matrix); outVolumeData = vesselness.ApplyFrangiVesselness(volNode.GetImageData(),${SIGMA_MIN},${SIGMA_MAX},${SIGMA_STEPS},${ALPHA},${BETA},${GAMMA}); outputNode=slicer.MRMLScene.CreateNodeByClass('vtkMRMLScalarVolumeNode'); volumeNode=slicer.MRMLScene.AddNode(outputNode); volumeNode.SetAndObserveImageData(outVolumeData); volumeNode.SetIJKToRASMatrix(matrix); volumeNode.SetModifiedSinceRead(1); slicer.VolumesGUI.GetLogic().SaveArchetypeVolume('${OUTPUT}',volumeNode);"
 +
</pre>
 +
 
 +
* remote levelset:
 +
<pre>
 +
${SIGMA_MIN}=$const(1.0)
 +
${SIGMA_MAX}=$const(5.0)
 +
${SIGMA_STEPS}=$const(10)
 +
${ALPHA}=$range(0.1,0.5,0.1)
 +
${BETA}=$range(500.0,1500.0,500.0)
 +
${GAMMA}=$range(300.0,1000.0,100.0)
 +
${FILE}=$const(00)
 +
${TYPE}=$const(RCA)
 +
${INPUT}=$const(/Volumes/DATA2/dhaehn/cutted/Image${FILE}_${TYPE}.nrrd)
 +
${INPUT_VESSELNESS}=$const(/Volumes/DATA2/dhaehn/gwe-results/${FILE}-${TYPE}/${FILE}-${TYPE}-out-${SIGMA_MIN}-${SIGMA_MAX}-N${SIGMA_STEPS}-${ALPHA}-${BETA}-${GAMMA}.nrrd)
 +
${SEED_X}=$const(1)
 +
${SEED_Y}=$const(1)
 +
${SEED_Z}=$const(1)
 +
${LOW_THRESHOLD}=$const(0.1)
 +
${HIGH_TRESHOLD}=$const(1.0)
 +
${PROPAGATION}=$const(0)
 +
${CURVATURE}=$const(70)
 +
${ADVECTION}=$const(100)
 +
${ITERATIONS}=$const(10)
 +
${OUTPUT}=$const(/Volumes/DATA2/dhaehn/gwe-results-polydata/${FILE}-${TYPE}/${FILE}-${TYPE}-out-${SIGMA_MIN}-${SIGMA_MAX}-N${SIGMA_STEPS}-${ALPHA}-${BETA}-${GAMMA}-FM-${LOW_THRESHOLD}-${HIGH_THRESHOLD}-GAC-${PROPAGATION}-${CURVATURE}-${ADVECTION}-N${ITERATIONS}.vtk)
 +
 
 +
{SLICER_HOME}/Slicer3 --no_splash --evalpython "import sys; from Slicer import slicer;
 +
 
 +
sys.path.append(str(slicer.Application.GetExtensionsInstallPath())+'/'+str(slicer.Application.GetSvnRevision())+'/VMTKEasyLevelSetSegmentation/VMTKEasyLevelSetSegmentation');
 +
 
 +
from VMTKEasyLevelSetSegmentationGUI import *;
 +
 
 +
hiddengui = VMTKEasyLevelSetSegmentationGUI();
 +
 
 +
from VMTKEasyLevelSetSegmentationLogic import *;
 +
 
 +
levelset = VMTKEasyLevelSetSegmentationGUI(hiddengui);
 +
 
 +
volNode=slicer.VolumesGUI.GetLogic().AddArchetypeVolume('${INPUT}','Originals',0);
 +
vesselnessNode=slicer.VolumesGUI.GetLogic().AddArchetypeVolume('${INPUT_VESSELNESS}','Vessels',0);
 +
 
 +
matrix = slicer.vtkMatrix4x4(); volNode.GetIJKToRASMatrix(matrix);
 +
image = volNode.GetImageData();
 +
vesselImage = vesselnessNode.GetImageData();
 +
 
 +
seedList = slicer.vtkIdList();
 +
targetList = slicer.vtkIdList();
 +
seedPt = [${SEED_X},${SEED_Y},${SEED_Z},1];
 +
 
 +
ijkSeedPt = matrix.MultiplyPoint(*seedPt);
 +
seedList.InsertNextId(vesselImage.ComputePointId(int(ijkSeedPt[0]),int(ijkSeedPt[1]),int(ijkSeedPt[2])));
 +
 
 +
fm = levelset.ExecuteFM(vesselImage,${LOW_THRESHOLD},${HIGH_TRESHOLD},seedList,targetList);
 +
gac = levelset.ExecuteGAC(image,fm,${ITERATIONS},${PROPAGATION},${CURVATURE},${ADVECTION},'geodesic');
 +
mc = levelset.MarchingCubes(gac,matrix,0.0);
 +
 
 +
outputNode=slicer.MRMLScene.CreateNodeByClass('vtkMRMLModelNode');
 +
modelNode=slicer.MRMLScene.AddNode(outputNode);
 +
modelNode.SetAndObservePolyData(mc); modelNode.SetModifiedSinceRead(1);
 +
 
 +
slicer.ModelsGUI.GetLogic().SaveModel('${OUTPUT}',modelNode);"
 
</pre>
 
</pre>

Revision as of 14:14, 21 January 2010

Home < User talk:Haehn

my notes..

  • this code works locally:

"import sys; from Slicer import slicer; volNode=slicer.VolumesGUI.GetLogic().AddArchetypeVolume('/home/haehn/data/Image00_LCA.nrrd','Liver',0); matrix = slicer.vtkMatrix4x4(); volNode.GetIJKToRASMatrix(matrix);

outputNode=slicer.MRMLScene.CreateNodeByClass('vtkMRMLScalarVolumeNode'); volumeNode=slicer.MRMLScene.AddNode(outputNode); volumeNode.SetAndObserveImageData(volNode.GetImageData()); volumeNode.SetIJKToRASMatrix(matrix); volumeNode.SetModifiedSinceRead(1); slicer.VolumesGUI.GetLogic().SaveArchetypeVolume('/home/haehn/data/test.nrrd',volumeNode);"

  • remote Frangi:
${SIGMA_MIN}=$const(1.0)
${SIGMA_MAX}=$const(5.0)
${SIGMA_STEPS}=$const(10)
${ALPHA}=$range(0.1,0.5,0.1)
${BETA}=$range(500.0,1500.0,500.0)
${GAMMA}=$range(300.0,1000.0,100.0)
${FILE}=$const(00)
${TYPE}=$const(RCA)
${INPUT}=$const(/Volumes/DATA2/dhaehn/cutted/Image${FILE}_${TYPE}.nrrd)
${OUTPUT}=$const(/Volumes/DATA2/dhaehn/gwe-results/${FILE}-${TYPE}-out-${SIGMA_MIN}-${SIGMA_MAX}-N${SIGMA_STEPS}-${ALPHA}-${BETA}-${GAMMA}.nrrd)

${SLICER_HOME}/Slicer3 --no_splash --evalpython "import sys; from Slicer import slicer; sys.path.append(str(slicer.Application.GetExtensionsInstallPath())+'/'+str(slicer.Application.GetSvnRevision())+'/VMTKVesselEnhancement/VMTKVesselEnhancement'); from SlicerVMTKVesselEnhancementGUI import *; hiddengui = VMTKVesselEnhancement(); from SlicerVMTKVesselEnhancementLogic import *; vesselness=SlicerVMTKVesselEnhancementLogic(hiddengui); volNode=slicer.VolumesGUI.GetLogic().AddArchetypeVolume('${INPUT}','Vessels',0); matrix = slicer.vtkMatrix4x4(); volNode.GetIJKToRASMatrix(matrix); outVolumeData = vesselness.ApplyFrangiVesselness(volNode.GetImageData(),${SIGMA_MIN},${SIGMA_MAX},${SIGMA_STEPS},${ALPHA},${BETA},${GAMMA}); outputNode=slicer.MRMLScene.CreateNodeByClass('vtkMRMLScalarVolumeNode'); volumeNode=slicer.MRMLScene.AddNode(outputNode); volumeNode.SetAndObserveImageData(outVolumeData); volumeNode.SetIJKToRASMatrix(matrix); volumeNode.SetModifiedSinceRead(1); slicer.VolumesGUI.GetLogic().SaveArchetypeVolume('${OUTPUT}',volumeNode);"
  • remote levelset:
${SIGMA_MIN}=$const(1.0)
${SIGMA_MAX}=$const(5.0)
${SIGMA_STEPS}=$const(10)
${ALPHA}=$range(0.1,0.5,0.1)
${BETA}=$range(500.0,1500.0,500.0)
${GAMMA}=$range(300.0,1000.0,100.0)
${FILE}=$const(00)
${TYPE}=$const(RCA)
${INPUT}=$const(/Volumes/DATA2/dhaehn/cutted/Image${FILE}_${TYPE}.nrrd)
${INPUT_VESSELNESS}=$const(/Volumes/DATA2/dhaehn/gwe-results/${FILE}-${TYPE}/${FILE}-${TYPE}-out-${SIGMA_MIN}-${SIGMA_MAX}-N${SIGMA_STEPS}-${ALPHA}-${BETA}-${GAMMA}.nrrd)
${SEED_X}=$const(1)
${SEED_Y}=$const(1)
${SEED_Z}=$const(1)
${LOW_THRESHOLD}=$const(0.1)
${HIGH_TRESHOLD}=$const(1.0)
${PROPAGATION}=$const(0)
${CURVATURE}=$const(70)
${ADVECTION}=$const(100)
${ITERATIONS}=$const(10)
${OUTPUT}=$const(/Volumes/DATA2/dhaehn/gwe-results-polydata/${FILE}-${TYPE}/${FILE}-${TYPE}-out-${SIGMA_MIN}-${SIGMA_MAX}-N${SIGMA_STEPS}-${ALPHA}-${BETA}-${GAMMA}-FM-${LOW_THRESHOLD}-${HIGH_THRESHOLD}-GAC-${PROPAGATION}-${CURVATURE}-${ADVECTION}-N${ITERATIONS}.vtk)

{SLICER_HOME}/Slicer3 --no_splash --evalpython "import sys; from Slicer import slicer; 

sys.path.append(str(slicer.Application.GetExtensionsInstallPath())+'/'+str(slicer.Application.GetSvnRevision())+'/VMTKEasyLevelSetSegmentation/VMTKEasyLevelSetSegmentation'); 

from VMTKEasyLevelSetSegmentationGUI import *; 

hiddengui = VMTKEasyLevelSetSegmentationGUI(); 

from VMTKEasyLevelSetSegmentationLogic import *; 

levelset = VMTKEasyLevelSetSegmentationGUI(hiddengui);

volNode=slicer.VolumesGUI.GetLogic().AddArchetypeVolume('${INPUT}','Originals',0);
vesselnessNode=slicer.VolumesGUI.GetLogic().AddArchetypeVolume('${INPUT_VESSELNESS}','Vessels',0);

matrix = slicer.vtkMatrix4x4(); volNode.GetIJKToRASMatrix(matrix);
image = volNode.GetImageData();
vesselImage = vesselnessNode.GetImageData();

seedList = slicer.vtkIdList();
targetList = slicer.vtkIdList();
seedPt = [${SEED_X},${SEED_Y},${SEED_Z},1];

ijkSeedPt = matrix.MultiplyPoint(*seedPt);
seedList.InsertNextId(vesselImage.ComputePointId(int(ijkSeedPt[0]),int(ijkSeedPt[1]),int(ijkSeedPt[2])));

fm = levelset.ExecuteFM(vesselImage,${LOW_THRESHOLD},${HIGH_TRESHOLD},seedList,targetList);
gac = levelset.ExecuteGAC(image,fm,${ITERATIONS},${PROPAGATION},${CURVATURE},${ADVECTION},'geodesic');
mc = levelset.MarchingCubes(gac,matrix,0.0);

outputNode=slicer.MRMLScene.CreateNodeByClass('vtkMRMLModelNode'); 
modelNode=slicer.MRMLScene.AddNode(outputNode); 
modelNode.SetAndObservePolyData(mc); modelNode.SetModifiedSinceRead(1); 

slicer.ModelsGUI.GetLogic().SaveModel('${OUTPUT}',modelNode);"