From 19753ecda46e81ed9bfdbf2568e7141fa983f8be Mon Sep 17 00:00:00 2001 From: Kian Weimer Date: Tue, 1 Jun 2021 18:12:57 -0500 Subject: [PATCH] ENH: Added RescaleIntensity Python script --- .../RescaleIntensity/CMakeLists.txt | 19 ++++++++++++-- .../ImageIntensity/RescaleIntensity/Code.py | 25 +++++++++++++++++++ .../RescaleIntensity/Documentation.rst | 7 ++++++ 3 files changed, 49 insertions(+), 2 deletions(-) create mode 100644 src/Filtering/ImageIntensity/RescaleIntensity/Code.py diff --git a/src/Filtering/ImageIntensity/RescaleIntensity/CMakeLists.txt b/src/Filtering/ImageIntensity/RescaleIntensity/CMakeLists.txt index 53f8f4681..81e2fca2e 100644 --- a/src/Filtering/ImageIntensity/RescaleIntensity/CMakeLists.txt +++ b/src/Filtering/ImageIntensity/RescaleIntensity/CMakeLists.txt @@ -19,10 +19,25 @@ install( FILES Code.cxx CMakeLists.txt ) enable_testing() + +set( input_image ${CMAKE_CURRENT_BINARY_DIR}/Gourds.png ) +set( output_image Output.png ) + add_test( NAME RescaleIntensityTest COMMAND ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/RescaleIntensity - ${CMAKE_CURRENT_BINARY_DIR}/Gourds.png - Output.png + ${input_image} + ${output_image} 0 255 ) + +if( ITK_WRAP_PYTHON ) + string( REPLACE . "Python." output_image "${output_image}" ) + add_test( NAME RescaleIntensityTestPython + COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/Code.py + ${input_image} + ${output_image} + 0 + 255 + ) +endif() diff --git a/src/Filtering/ImageIntensity/RescaleIntensity/Code.py b/src/Filtering/ImageIntensity/RescaleIntensity/Code.py new file mode 100644 index 000000000..d69a20222 --- /dev/null +++ b/src/Filtering/ImageIntensity/RescaleIntensity/Code.py @@ -0,0 +1,25 @@ +#!/usr/bin/env python + +import sys +import itk + +if len(sys.argv) != 5: + print( + "Usage: " + + sys.argv[0] + + " " + ) + sys.exit(1) + +input_image = sys.argv[1] +output_image = sys.argv[1] +output_minimum = int(sys.argv[3]) +output_maximum = int(sys.argv[4]) + +image = itk.imread(sys.argv[1]) + +image = itk.rescale_intensity_image_filter( + image, output_minimum=output_minimum, output_maximum=output_maximum +) + +itk.imwrite(image, sys.argv[2]) diff --git a/src/Filtering/ImageIntensity/RescaleIntensity/Documentation.rst b/src/Filtering/ImageIntensity/RescaleIntensity/Documentation.rst index 8c387e2da..95720f028 100644 --- a/src/Filtering/ImageIntensity/RescaleIntensity/Documentation.rst +++ b/src/Filtering/ImageIntensity/RescaleIntensity/Documentation.rst @@ -32,6 +32,13 @@ Results Code ---- +Python +...... + +.. literalinclude:: Code.py + :language: python + :lines: 1, 16- + C++ ...