# ========================================================================== # # Copyright NumFOCUS # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # https://www.apache.org/licenses/LICENSE-2.0.txt # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # # ==========================================================================*/ from InsightToolkit import * import itktesting import sys import os import shutil basename = os.path.basename(sys.argv[0]) name = os.path.splitext(basename)[0] dir = "Algorithms" testInput = itktesting.ITK_TEST_INPUT testOutput = itktesting.ITK_TEST_OUTPUT baseLine = itktesting.ITK_TEST_BASELINE reader = itkImageFileReaderF2_New() reader.SetFileName(testInput + "/cthead1.png") cf = itkCurvatureFlowImageFilterF2F2_New() cf.SetInput(reader.GetOutput()) cf.SetTimeStep(0.25) cf.SetNumberOfIterations(10) cfss = itkShiftScaleImageFilterF2US2_New() cfss.SetInput(cf.GetOutput()) cfss.SetShift(0.7) cfss.SetScale(0.9) valid = itkImageFileReaderUS2_New() valid.SetFileName(baseLine + "/" + dir + "/" + name + ".png") diff = itkDifferenceImageFilterUS2_New() diff.SetValidInput(valid.GetOutput()) diff.SetTestInput(cfss.GetOutput()) diff.SetToleranceRadius(1) diff.SetDifferenceThreshold(0) diff.Update() meanDiff = diff.GetMeanDifference() totalDiff = diff.GetTotalDifference() print("MeanDifference = ", meanDiff) print("TotalDifference = ", totalDiff) print( '', meanDiff, "", ) print( '', totalDiff, "", ) if meanDiff > 0.1: convert = itkCastImageFilterUS2UC2_New() rescale = itkRescaleIntensityImageFilterUS2UC2_New() rescale.SetInput(diff.GetOutput()) rescale.SetOutputMinimum(0) rescale.SetOutputMaximum(255) io = itkPNGImageIO_New() io.SetUseCompression(1) io.SetCompressionLevel(9) writer = itkImageFileWriterUC2_New() writer.SetImageIO(io) writer.SetInput(convert.GetOutput()) writer.SetFileName(testOutput + "/" + name + ".test.png") convert.SetInput(cfss.GetOutput()) writer.Write() writer.SetFileName(testOutput + "/" + name + ".diff.png") writer.SetInput(rescale.GetOutput()) writer.Write() shutil.copyfile( baseLine + "/" + dir + "/" + name + ".png", testOutput + "/" + name + ".valid.png", ) print( '' + testOutput + "/" + name + ".test.png" ) print( '' + testOutput + "/" + name + ".diff.png" ) print( '' + testOutput + "/" + name + ".valid.png" ) print( '', rescale.GetShift(), "", ) print( '', rescale.GetScale(), "", ) # return 1 # return 0