Difference between revisions of "User talk:Haehn"
From NAMIC Wiki
Line 18: | Line 18: | ||
<pre> | <pre> | ||
${SIGMA_MIN}=$const(1.0) | ${SIGMA_MIN}=$const(1.0) | ||
− | ${SIGMA_MAX}=$const( | + | ${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. | + | ${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:Haehnmy 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);"