diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 52ec07189..f4e5549ca 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -302,4 +302,5 @@ rtk_add_test(rtkBioscanTest rtkbioscantest.cxx if(ITK_WRAP_PYTHON) itk_python_add_test(NAME rtkFirstReconstructionPythonTest COMMAND rtkFirstReconstruction.py ${CMAKE_CURRENT_BINARY_DIR}/rtkFirstReconstruction.mha) + itk_python_add_test(NAME rtkMaximumIntensityPythonTest COMMAND rtkMaximumIntensity.py) endif() diff --git a/test/rtkMaximumIntensity.py b/test/rtkMaximumIntensity.py new file mode 100644 index 000000000..58492e169 --- /dev/null +++ b/test/rtkMaximumIntensity.py @@ -0,0 +1,40 @@ +#!/usr/bin/env python +from __future__ import print_function +import itk +from itk import RTK as rtk +import sys +import os + +TImageType = itk.Image[itk.F,3] +# Defines the RTK geometry object +geometry = rtk.ThreeDCircularProjectionGeometry.New() +numberOfProjections = 1 +geometry.AddProjection(700, 800, 0) +# Constant image sources +# Create MIP Forward Projector volume +volInput = rtk.ConstantImageSource[TImageType].New() +origin = [ 0., 0., 0. ] +size = [ 64, 64, 64 ] +sizeOutput = [ 200, 200, numberOfProjections ] +spacing = [ 4.0, 4.0, 4.0 ] +spacingOutput = [ 1.0, 1.0, 1.0 ] +volInput.SetOrigin( origin ) +volInput.SetSpacing( spacing ) +volInput.SetSize( size ) +volInput.SetConstant(1.0) +volInput.UpdateOutputInformation() +volInputSource = volInput.GetOutput() +# Initialization Imager volume +projInput = rtk.ConstantImageSource[TImageType].New() +projInput.SetOrigin( origin ) +projInput.SetSpacing( spacingOutput ) +projInput.SetSize( sizeOutput ) +projInput.SetConstant(0.) +projInput.Update() +projInputSource = projInput.GetOutput() +# MIP Forward Projection filter +mip = rtk.MaximumIntensityProjectionImageFilter[TImageType, TImageType].New() +mip.SetGeometry( geometry ) +mip.SetInput(volInputSource) +mip.SetInput(1, projInputSource) +mipImage = mip.GetOutput()