itk_module_test()
set(
  ITKThresholdingTests
  itkBinaryThresholdImageFilterTest2.cxx
  itkBinaryThresholdImageFilterTest.cxx
  itkBinaryThresholdProjectionImageFilterTest.cxx
  itkBinaryThresholdSpatialFunctionTest.cxx
  itkHuangThresholdImageFilterTest.cxx
  itkIntermodesThresholdImageFilterTest.cxx
  itkIsoDataThresholdImageFilterTest.cxx
  itkKittlerIllingworthThresholdImageFilterTest.cxx
  itkLiThresholdImageFilterTest.cxx
  itkMaximumEntropyThresholdImageFilterTest.cxx
  itkMomentsThresholdImageFilterTest.cxx
  itkOtsuMultipleThresholdsCalculatorTest.cxx
  itkOtsuMultipleThresholdsCalculatorTest2.cxx
  itkOtsuMultipleThresholdsImageFilterTest.cxx
  #itkOtsuThresholdCalculatorVersusOtsuMultipleThresholdsCalculatorTest.cxx
  itkOtsuThresholdCalculatorTest.cxx
  itkOtsuThresholdImageFilterTest.cxx
  itkRenyiEntropyThresholdImageFilterTest.cxx
  itkShanbhagThresholdImageFilterTest.cxx
  itkThresholdImageFilterTest.cxx
  itkThresholdLabelerImageFilterTest.cxx
  itkTriangleThresholdImageFilterTest.cxx
  itkYenThresholdImageFilterTest.cxx
  itkHuangMaskedThresholdImageFilterTest.cxx
  itkIntermodesMaskedThresholdImageFilterTest.cxx
  itkIsoDataMaskedThresholdImageFilterTest.cxx
  itkKittlerIllingworthMaskedThresholdImageFilterTest.cxx
  itkLiMaskedThresholdImageFilterTest.cxx
  itkMaximumEntropyMaskedThresholdImageFilterTest.cxx
  itkMomentsMaskedThresholdImageFilterTest.cxx
  itkOtsuMaskedThresholdImageFilterTest.cxx
  itkRenyiEntropyMaskedThresholdImageFilterTest.cxx
  itkShanbhagMaskedThresholdImageFilterTest.cxx
  itkTriangleMaskedThresholdImageFilterTest.cxx
  itkYenMaskedThresholdImageFilterTest.cxx
  itkKappaSigmaThresholdImageCalculatorTest.cxx
  itkKappaSigmaThresholdImageFilterTest.cxx
)

createtestdriver(ITKThresholding "${ITKThresholding-Test_LIBRARIES}" "${ITKThresholdingTests}")

itk_add_test(
  NAME itkOtsuThresholdCalculatorTest
  COMMAND
    ITKThresholdingTestDriver
    itkOtsuThresholdCalculatorTest
)

itk_add_test(
  NAME itkOtsuMultipleThresholdsImageFilterTest
  COMMAND
    ITKThresholdingTestDriver
    --compare
    DATA{Baseline/itkOtsuMultipleThresholdsImageFilterTest.png}
    ${ITK_TEST_OUTPUT_DIR}/itkOtsuMultipleThresholdsImageFilterTest.png
    itkOtsuMultipleThresholdsImageFilterTest
    DATA{${ITK_DATA_ROOT}/Input/peppers.png}
    ${ITK_TEST_OUTPUT_DIR}/itkOtsuMultipleThresholdsImageFilterTest.png
    64
    3
    2
    0
    1
)

itk_add_test(
  NAME itkThresholdLabelerImageFilterTest
  COMMAND
    ITKThresholdingTestDriver
    itkThresholdLabelerImageFilterTest
)
itk_add_test(
  NAME itkBinaryThresholdImageFilterTest
  COMMAND
    ITKThresholdingTestDriver
    itkBinaryThresholdImageFilterTest
)
itk_add_test(
  NAME itkThresholdImageFilterTest
  COMMAND
    ITKThresholdingTestDriver
    itkThresholdImageFilterTest
)
itk_add_test(
  NAME itkOtsuMultipleThresholdsCalculatorTest1
  COMMAND
    ITKThresholdingTestDriver
    itkOtsuMultipleThresholdsCalculatorTest
    0
    0
)
itk_add_test(
  NAME itkOtsuMultipleThresholdsCalculatorTest2
  COMMAND
    ITKThresholdingTestDriver
    itkOtsuMultipleThresholdsCalculatorTest
    1
    0
)
itk_add_test(
  NAME itkBinaryThresholdImageFilterTest2
  COMMAND
    ITKThresholdingTestDriver
    --compare
    DATA{${ITK_DATA_ROOT}/Baseline/BasicFilters/BinaryThresholdImageFilterTest2.png}
    ${ITK_TEST_OUTPUT_DIR}/BinaryThresholdImageFilterTest2.png
    itkBinaryThresholdImageFilterTest2
    DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
    DATA{${ITK_DATA_ROOT}/Input/DicomSeries/Image0076.dcm}
    ${ITK_TEST_OUTPUT_DIR}/BinaryThresholdImageFilterTest2.png
)
itk_add_test(
  NAME itkBinaryThresholdProjectionImageFilterTest
  COMMAND
    ITKThresholdingTestDriver
    --compare
    DATA{${ITK_DATA_ROOT}/Baseline/BasicFilters/HeadMRVolumeBinaryThresholdProjection.png}
    ${ITK_TEST_OUTPUT_DIR}/HeadMRVolumeBinaryThresholdProjection.png
    itkBinaryThresholdProjectionImageFilterTest
    DATA{${ITK_DATA_ROOT}/Input/HeadMRVolume.mhd,HeadMRVolume.raw}
    ${ITK_TEST_OUTPUT_DIR}/HeadMRVolumeBinaryThresholdProjection.png
    100
    255
    0
)
itk_add_test(
  NAME itkBinaryThresholdSpatialFunctionTest
  COMMAND
    ITKThresholdingTestDriver
    itkBinaryThresholdSpatialFunctionTest
)

itk_add_test(
  NAME itkHuangThresholdImageFilterTest
  COMMAND
    ITKThresholdingTestDriver
    --compare
    DATA{Baseline/itkHuangThresholdImageFilterTest.png}
    ${ITK_TEST_OUTPUT_DIR}/itkHuangThresholdImageFilterTest.png
    itkHuangThresholdImageFilterTest
    DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
    ${ITK_TEST_OUTPUT_DIR}/itkHuangThresholdImageFilterTest.png
    256
    1
    19
)
itk_add_test(
  NAME itkHuangThresholdImageFilterTestNoAutoMinMax
  COMMAND
    ITKThresholdingTestDriver
    --compare-MD5
    DATA{Baseline/itkHuangThresholdImageFilterTestNoAutoMinMax.png}
    fdcefb74090f63114d811e92f0f5836b
    itkHuangThresholdImageFilterTest
    DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
    ${ITK_TEST_OUTPUT_DIR}/itkHuangThresholdImageFilterTestNoAutoMinMax.png
    32
    0
    -31744
)

itk_add_test(
  NAME itkHuangMaskedThresholdImageFilterTest
  COMMAND
    ITKThresholdingTestDriver
    --compare
    DATA{Baseline/itkHuangMaskedThresholdImageFilterTest.png}
    ${ITK_TEST_OUTPUT_DIR}/itkHuangMaskedThresholdImageFilterTest.png
    itkHuangMaskedThresholdImageFilterTest
    DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
    DATA{${ITK_DATA_ROOT}/Input/cthead1-threshmask.png}
    ${ITK_TEST_OUTPUT_DIR}/itkHuangMaskedThresholdImageFilterTest.png
    1
    255
    239
)

itk_add_test(
  NAME itkIntermodesThresholdImageFilterTest
  COMMAND
    ITKThresholdingTestDriver
    --compare
    DATA{Baseline/itkIntermodesThresholdImageFilterTest.png}
    ${ITK_TEST_OUTPUT_DIR}/itkIntermodesThresholdImageFilterTest.png
    itkIntermodesThresholdImageFilterTest
    DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
    ${ITK_TEST_OUTPUT_DIR}/itkIntermodesThresholdImageFilterTest.png
    256
    1
    1000
    1
    76
)
itk_add_test(
  NAME itkIntermodesThresholdImageFilterTestNoInterMode
  COMMAND
    ITKThresholdingTestDriver
    --compare-MD5
    DATA{Baseline/itkIntermodesThresholdImageFilterTestNoInterMode.png}
    eed45f177050894e50ec1be5bc6bd4fa
    itkIntermodesThresholdImageFilterTest
    DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
    ${ITK_TEST_OUTPUT_DIR}/itkIntermodesThresholdImageFilterTestNoInterMode.png
    32
    1
    2000
    0
    75
)
#itk_add_test(NAME itkIntermodesThresholdImageFilterTestNoAutoMinMax
#      COMMAND ITKThresholdingTestDriver
#    --compare-MD5 DATA{Baseline/itkIntermodesThresholdImageFilterTestNoAutoMinMax.png}
#              eed45f177050894e50ec1be5bc6bd4fa
#    itkIntermodesThresholdImageFilterTest DATA{${ITK_DATA_ROOT}/Input/cthead1.png} ${ITK_TEST_OUTPUT_DIR}/itkIntermodesThresholdImageFilterTestNoAutoMinMax.png 32 0 400000 0 19)

itk_add_test(
  NAME itkIntermodesMaskedThresholdImageFilterTest
  COMMAND
    ITKThresholdingTestDriver
    --compare
    DATA{Baseline/itkIntermodesMaskedThresholdImageFilterTest.png}
    ${ITK_TEST_OUTPUT_DIR}/itkIntermodesMaskedThresholdImageFilterTest.png
    itkIntermodesMaskedThresholdImageFilterTest
    DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
    DATA{${ITK_DATA_ROOT}/Input/cthead1-threshmask.png}
    ${ITK_TEST_OUTPUT_DIR}/itkIntermodesMaskedThresholdImageFilterTest.png
    1
    255
    1000
    1
    97
)

itk_add_test(
  NAME itkIsoDataThresholdImageFilterTest
  COMMAND
    ITKThresholdingTestDriver
    --compare
    DATA{Baseline/itkIsoDataThresholdImageFilterTest.png}
    ${ITK_TEST_OUTPUT_DIR}/itkIsoDataThresholdImageFilterTest.png
    itkIsoDataThresholdImageFilterTest
    DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
    ${ITK_TEST_OUTPUT_DIR}/itkIsoDataThresholdImageFilterTest.png
    256
    1
    85
)
itk_add_test(
  NAME itkIsoDataThresholdImageFilterTestNoAutoMinMax
  COMMAND
    ITKThresholdingTestDriver
    --compare-MD5
    DATA{Baseline/itkIsoDataThresholdImageFilterTestNoAutoMinMax.png}
    9f844fd120ff49a7812e329a1b0216d8
    itkIsoDataThresholdImageFilterTest
    DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
    ${ITK_TEST_OUTPUT_DIR}/itkIsoDataThresholdImageFilterTestNoAutoMinMax.png
    32
    0
    1023
)

itk_add_test(
  NAME itkIsoDataMaskedThresholdImageFilterTest
  COMMAND
    ITKThresholdingTestDriver
    --compare
    DATA{Baseline/itkIsoDataMaskedThresholdImageFilterTest.png}
    ${ITK_TEST_OUTPUT_DIR}/itkIsoDataMaskedThresholdImageFilterTest.png
    itkIsoDataMaskedThresholdImageFilterTest
    DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
    DATA{${ITK_DATA_ROOT}/Input/cthead1-threshmask.png}
    ${ITK_TEST_OUTPUT_DIR}/itkIsoDataMaskedThresholdImageFilterTest.png
    1
    255
    114
)

itk_add_test(
  NAME itkKittlerIllingworthThresholdImageFilterTest
  COMMAND
    ITKThresholdingTestDriver
    --compare
    DATA{Baseline/itkKittlerIllingworthThresholdImageFilterTest.png}
    ${ITK_TEST_OUTPUT_DIR}/itkKittlerIllingworthThresholdImageFilterTest.png
    itkKittlerIllingworthThresholdImageFilterTest
    DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
    ${ITK_TEST_OUTPUT_DIR}/itkKittlerIllingworthThresholdImageFilterTest.png
    256
    1
    32
)
itk_add_test(
  NAME itkKittlerIllingworthThresholdImageFilterTestNoAutoMinMax
  COMMAND
    ITKThresholdingTestDriver
    --compare-MD5
    DATA{Baseline/itkKittlerIllingworthThresholdImageFilterTestNoAutoMinMax.png}
    ecb99e6ffea7be1e5419350f725da86b
    itkKittlerIllingworthThresholdImageFilterTest
    DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
    ${ITK_TEST_OUTPUT_DIR}/itkKittlerIllingworthThresholdImageFilterTestNoAutoMinMax.png
    32
    0
    1023
)

itk_add_test(
  NAME itkKittlerIllingworthMaskedThresholdImageFilterTest
  COMMAND
    ITKThresholdingTestDriver
    --compare
    DATA{Baseline/itkKittlerIllingworthMaskedThresholdImageFilterTest.png}
    ${ITK_TEST_OUTPUT_DIR}/itkKittlerIllingworthMaskedThresholdImageFilterTest.png
    itkKittlerIllingworthMaskedThresholdImageFilterTest
    DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
    DATA{${ITK_DATA_ROOT}/Input/cthead1-threshmask.png}
    ${ITK_TEST_OUTPUT_DIR}/itkKittlerIllingworthMaskedThresholdImageFilterTest.png
    1
    255
    254
)

itk_add_test(
  NAME itkLiThresholdImageFilterTest
  COMMAND
    ITKThresholdingTestDriver
    --compare
    DATA{Baseline/itkLiThresholdImageFilterTest.png}
    ${ITK_TEST_OUTPUT_DIR}/itkLiThresholdImageFilterTest.png
    itkLiThresholdImageFilterTest
    DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
    ${ITK_TEST_OUTPUT_DIR}/itkLiThresholdImageFilterTest.png
    256
    1
    54
)
itk_add_test(
  NAME itkLiThresholdImageFilterTestNoAutoMinMax
  COMMAND
    ITKThresholdingTestDriver
    --compare-MD5
    DATA{Baseline/itkLiThresholdImageFilterTestNoAutoMinMax.png}
    ecb99e6ffea7be1e5419350f725da86b
    itkLiThresholdImageFilterTest
    DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
    ${ITK_TEST_OUTPUT_DIR}/itkLiThresholdImageFilterTestNoAutoMinMax.png
    32
    0
    1023
)

itk_add_test(
  NAME itkLiMaskedThresholdImageFilterTest
  COMMAND
    ITKThresholdingTestDriver
    --compare
    DATA{Baseline/itkLiMaskedThresholdImageFilterTest.png}
    ${ITK_TEST_OUTPUT_DIR}/itkLiMaskedThresholdImageFilterTest.png
    itkLiMaskedThresholdImageFilterTest
    DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
    DATA{${ITK_DATA_ROOT}/Input/cthead1-threshmask.png}
    ${ITK_TEST_OUTPUT_DIR}/itkLiMaskedThresholdImageFilterTest.png
    1
    255
    177
)

itk_add_test(
  NAME itkMaximumEntropyThresholdImageFilterTest
  COMMAND
    ITKThresholdingTestDriver
    --compare
    DATA{Baseline/itkMaximumEntropyThresholdImageFilterTest.png}
    ${ITK_TEST_OUTPUT_DIR}/itkMaximumEntropyThresholdImageFilterTest.png
    itkMaximumEntropyThresholdImageFilterTest
    DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
    ${ITK_TEST_OUTPUT_DIR}/itkMaximumEntropyThresholdImageFilterTest.png
    256
    1
    140
)
itk_add_test(
  NAME itkMaximumEntropyThresholdImageFilterTestNoAutoMinMax
  COMMAND
    ITKThresholdingTestDriver
    --compare
    DATA{Baseline/itkMaximumEntropyThresholdImageFilterTestNoAutoMinMax.png}
    ${ITK_TEST_OUTPUT_DIR}/itkMaximumEntropyThresholdImageFilterTestNoAutoMinMax.png
    itkMaximumEntropyThresholdImageFilterTest
    DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
    ${ITK_TEST_OUTPUT_DIR}/itkMaximumEntropyThresholdImageFilterTestNoAutoMinMax.png
    32
    0
    -31744
)

itk_add_test(
  NAME itkMaximumEntropyMaskedThresholdImageFilterTest
  COMMAND
    ITKThresholdingTestDriver
    --compare
    DATA{Baseline/itkMaximumEntropyMaskedThresholdImageFilterTest.png}
    ${ITK_TEST_OUTPUT_DIR}/itkMaximumEntropyMaskedThresholdImageFilterTest.png
    itkMaximumEntropyMaskedThresholdImageFilterTest
    DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
    DATA{${ITK_DATA_ROOT}/Input/cthead1-threshmask.png}
    ${ITK_TEST_OUTPUT_DIR}/itkMaximumEntropyMaskedThresholdImageFilterTest.png
    1
    255
    118
)

itk_add_test(
  NAME itkMomentsThresholdImageFilterTest
  COMMAND
    ITKThresholdingTestDriver
    --compare
    DATA{Baseline/itkMomentsThresholdImageFilterTest.png}
    ${ITK_TEST_OUTPUT_DIR}/itkMomentsThresholdImageFilterTest.png
    itkMomentsThresholdImageFilterTest
    DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
    ${ITK_TEST_OUTPUT_DIR}/itkMomentsThresholdImageFilterTest.png
    256
    1
    133
)
itk_add_test(
  NAME itkMomentsThresholdImageFilterTestNoAutoMinMax
  COMMAND
    ITKThresholdingTestDriver
    --compare
    DATA{Baseline/itkMomentsThresholdImageFilterTestNoAutoMinMax.png}
    ${ITK_TEST_OUTPUT_DIR}/itkMomentsThresholdImageFilterTestNoAutoMinMax.png
    itkMomentsThresholdImageFilterTest
    DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
    ${ITK_TEST_OUTPUT_DIR}/itkMomentsThresholdImageFilterTestNoAutoMinMax.png
    32
    0
    -31744
)

itk_add_test(
  NAME itkMomentsMaskedThresholdImageFilterTest
  COMMAND
    ITKThresholdingTestDriver
    --compare
    DATA{Baseline/itkMomentsMaskedThresholdImageFilterTest.png}
    ${ITK_TEST_OUTPUT_DIR}/itkMomentsMaskedThresholdImageFilterTest.png
    itkMomentsMaskedThresholdImageFilterTest
    DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
    DATA{${ITK_DATA_ROOT}/Input/cthead1-threshmask.png}
    ${ITK_TEST_OUTPUT_DIR}/itkMomentsMaskedThresholdImageFilterTest.png
    1
    255
    139
)

itk_add_test(
  NAME itkOtsuThresholdImageFilterTest
  COMMAND
    ITKThresholdingTestDriver
    --compare
    DATA{Baseline/itkOtsuThresholdImageFilterTest.png}
    ${ITK_TEST_OUTPUT_DIR}/itkOtsuThresholdImageFilterTest.png
    itkOtsuThresholdImageFilterTest
    DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
    ${ITK_TEST_OUTPUT_DIR}/itkOtsuThresholdImageFilterTest.png
    256
    1
    84
    0
)
itk_add_test(
  NAME itkOtsuThresholdImageFilterTestFlipInsideOut
  COMMAND
    ITKThresholdingTestDriver
    --compare-MD5
    DATA{Baseline/itkOtsuThresholdImageFilterTestFlipInsideOut.png}
    70f6b53f769782d0176c28b206d401d3
    itkOtsuThresholdImageFilterTest
    DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
    ${ITK_TEST_OUTPUT_DIR}/itkOtsuThresholdImageFilterTestFlipInsideOut.png
    256
    1
    84
    1
)
itk_add_test(
  NAME itkOtsuThresholdImageFilterTestNoAutoMinMax
  COMMAND
    ITKThresholdingTestDriver
    --compare
    DATA{Baseline/itkOtsuThresholdImageFilterTestNoAutoMinMax.png}
    ${ITK_TEST_OUTPUT_DIR}/itkOtsuThresholdImageFilterTestNoAutoMinMax.png
    itkOtsuThresholdImageFilterTest
    DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
    ${ITK_TEST_OUTPUT_DIR}/itkOtsuThresholdImageFilterTestNoAutoMinMax.png
    32
    0
    -30720
    0
)

# With one threshold, the OtsuMultipleThresholdsImageFilter should give the same result as the OtsuThresholdImageFilter.
# Therefore, in this test, we compare the output to the output of the OtsuThresholdImageFilter.
# We set the number of histogram bins to 256 because that is the default for the OtsuThresholdImageFilter.
itk_add_test(
  NAME itkOtsuMultipleThresholdsImageFilterTest2
  COMMAND
    ITKThresholdingTestDriver
    --compare
    DATA{Baseline/itkOtsuMultipleThresholdsImageFilterTest2.png}
    ${ITK_TEST_OUTPUT_DIR}/itkOtsuMultipleThresholdsImageFilterTest2.png
    itkOtsuMultipleThresholdsImageFilterTest
    DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
    ${ITK_TEST_OUTPUT_DIR}/itkOtsuMultipleThresholdsImageFilterTest2.png
    256
    1
    0
)

# Test the algorithm on an image with a small dark region.
itk_add_test(
  NAME itkOtsuMultipleThresholdsImageFilterTest3
  COMMAND
    ITKThresholdingTestDriver
    --compare
    DATA{Baseline/itkOtsuMultipleThresholdsImageFilterTest3.png}
    ${ITK_TEST_OUTPUT_DIR}/itkOtsuMultipleThresholdsImageFilterTest3.png
    itkOtsuMultipleThresholdsImageFilterTest
    DATA{${ITK_DATA_ROOT}/Input/DotOnVaryingBackground.png}
    ${ITK_TEST_OUTPUT_DIR}/itkOtsuMultipleThresholdsImageFilterTest3.png
    64
    1
    2
    0
    1
)

# Test the valley emphasis algorithm on an image with a small dark region.
itk_add_test(
  NAME itkOtsuMultipleThresholdsImageFilterTest4
  COMMAND
    ITKThresholdingTestDriver
    --compare
    DATA{Baseline/itkOtsuMultipleThresholdsImageFilterTest4.png}
    ${ITK_TEST_OUTPUT_DIR}/itkOtsuMultipleThresholdsImageFilterTest4.png
    itkOtsuMultipleThresholdsImageFilterTest
    DATA{${ITK_DATA_ROOT}/Input/DotOnVaryingBackground.png}
    ${ITK_TEST_OUTPUT_DIR}/itkOtsuMultipleThresholdsImageFilterTest4.png
    64
    1
    2
    1
)

itk_add_test(
  NAME itkOtsuMultipleThresholdsImageFilterTest5
  COMMAND
    ITKThresholdingTestDriver
    --compare
    DATA{Baseline/itkOtsuMultipleThresholdsImageFilterTest5.png}
    ${ITK_TEST_OUTPUT_DIR}/itkOtsuMultipleThresholdsImageFilterTest5.png
    itkOtsuMultipleThresholdsImageFilterTest
    DATA{Input/image_3modes.png}
    ${ITK_TEST_OUTPUT_DIR}/itkOtsuMultipleThresholdsImageFilterTest5.png
    128
    2
    0
)

itk_add_test(
  NAME itkOtsuMultipleThresholdsImageFilterTest6
  COMMAND
    ITKThresholdingTestDriver
    --compare
    DATA{Baseline/itkOtsuMultipleThresholdsImageFilterTest5.png}
    ${ITK_TEST_OUTPUT_DIR}/itkOtsuMultipleThresholdsImageFilterTest6.png
    itkOtsuMultipleThresholdsImageFilterTest
    DATA{Input/image_3modes.png}
    ${ITK_TEST_OUTPUT_DIR}/itkOtsuMultipleThresholdsImageFilterTest6.png
    128
    2
    0
    0
    1
)
set_tests_properties(
  itkOtsuMultipleThresholdsImageFilterTest6
  PROPERTIES
    WILL_FAIL
      TRUE
)

#itk_add_test(NAME itkOtsuThresholdCalculatorVersusOtsuMultipleThresholdsCalculatorTest
#      COMMAND ITKThresholdingTestDriver
#      itkOtsuThresholdCalculatorVersusOtsuMultipleThresholdsCalculatorTest DATA{${ITK_DATA_ROOT}/Input/cthead1.png})

itk_add_test(
  NAME itkOtsuMaskedThresholdImageFilterTest
  COMMAND
    ITKThresholdingTestDriver
    --compare
    DATA{Baseline/itkOtsuMaskedThresholdImageFilterTest.png}
    ${ITK_TEST_OUTPUT_DIR}/itkOtsuMaskedThresholdImageFilterTest.png
    itkOtsuMaskedThresholdImageFilterTest
    DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
    DATA{${ITK_DATA_ROOT}/Input/cthead1-threshmask.png}
    ${ITK_TEST_OUTPUT_DIR}/itkOtsuMaskedThresholdImageFilterTest.png
    1
    255
    184
)

itk_add_test(
  NAME itkRenyiEntropyThresholdImageFilterTest
  COMMAND
    ITKThresholdingTestDriver
    --compare
    DATA{Baseline/itkRenyiEntropyThresholdImageFilterTest.png}
    ${ITK_TEST_OUTPUT_DIR}/itkRenyiEntropyThresholdImageFilterTest.png
    itkRenyiEntropyThresholdImageFilterTest
    DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
    ${ITK_TEST_OUTPUT_DIR}/itkRenyiEntropyThresholdImageFilterTest.png
    256
    1
    51
)
itk_add_test(
  NAME itkRenyiEntropyThresholdImageFilterTestNoAutoMinMax
  COMMAND
    ITKThresholdingTestDriver
    --compare-MD5
    DATA{Baseline/itkRenyiEntropyThresholdImageFilterTestNoAutoMinMax.png}
    d5caadf6ba3cc5177eaa04e831fd0738
    itkRenyiEntropyThresholdImageFilterTest
    DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
    ${ITK_TEST_OUTPUT_DIR}/itkRenyiEntropyThresholdImageFilterTestNoAutoMinMax.png
    32
    0
    -31744
)

itk_add_test(
  NAME itkRenyiEntropyMaskedThresholdImageFilterTest
  COMMAND
    ITKThresholdingTestDriver
    --compare
    DATA{Baseline/itkRenyiEntropyMaskedThresholdImageFilterTest.png}
    ${ITK_TEST_OUTPUT_DIR}/itkRenyiEntropyMaskedThresholdImageFilterTest.png
    itkRenyiEntropyMaskedThresholdImageFilterTest
    DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
    DATA{${ITK_DATA_ROOT}/Input/cthead1-threshmask.png}
    ${ITK_TEST_OUTPUT_DIR}/itkRenyiEntropyMaskedThresholdImageFilterTest.png
    1
    255
    118
)

itk_add_test(
  NAME itkShanbhagThresholdImageFilterTest
  COMMAND
    ITKThresholdingTestDriver
    --compare
    DATA{Baseline/itkShanbhagThresholdImageFilterTest.png}
    ${ITK_TEST_OUTPUT_DIR}/itkShanbhagThresholdImageFilterTest.png
    itkShanbhagThresholdImageFilterTest
    DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
    ${ITK_TEST_OUTPUT_DIR}/itkShanbhagThresholdImageFilterTest.png
    256
    1
    133
)
itk_add_test(
  NAME itkShanbhagThresholdImageFilterTestNoAutoMinMax
  COMMAND
    ITKThresholdingTestDriver
    --compare
    DATA{Baseline/itkShanbhagThresholdImageFilterTestNoAutoMinMax.png}
    ${ITK_TEST_OUTPUT_DIR}/itkShanbhagThresholdImageFilterTestNoAutoMinMax.png
    itkShanbhagThresholdImageFilterTest
    DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
    ${ITK_TEST_OUTPUT_DIR}/itkShanbhagThresholdImageFilterTestNoAutoMinMax.png
    32
    0
    -31744
)

itk_add_test(
  NAME itkShanbhagMaskedThresholdImageFilterTest
  COMMAND
    ITKThresholdingTestDriver
    --compare
    DATA{Baseline/itkShanbhagMaskedThresholdImageFilterTest.png}
    ${ITK_TEST_OUTPUT_DIR}/itkShanbhagMaskedThresholdImageFilterTest.png
    itkShanbhagMaskedThresholdImageFilterTest
    DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
    DATA{${ITK_DATA_ROOT}/Input/cthead1-threshmask.png}
    ${ITK_TEST_OUTPUT_DIR}/itkShanbhagMaskedThresholdImageFilterTest.png
    1
    255
    55
)

itk_add_test(
  NAME itkTriangleThresholdImageFilterTest
  COMMAND
    ITKThresholdingTestDriver
    --compare
    DATA{Baseline/itkTriangleThresholdImageFilterTest.png}
    ${ITK_TEST_OUTPUT_DIR}/itkTriangleThresholdImageFilterTest.png
    itkTriangleThresholdImageFilterTest
    DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
    ${ITK_TEST_OUTPUT_DIR}/itkTriangleThresholdImageFilterTest.png
    256
    1
    2
)
itk_add_test(
  NAME itkTriangleThresholdImageFilterTestNoAutoMinMax
  COMMAND
    ITKThresholdingTestDriver
    --compare-MD5
    DATA{Baseline/itkTriangleThresholdImageFilterTestNoAutoMinMax.png}
    ecb99e6ffea7be1e5419350f725da86b
    itkTriangleThresholdImageFilterTest
    DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
    ${ITK_TEST_OUTPUT_DIR}/itkTriangleThresholdImageFilterTestNoAutoMinMax.png
    32
    0
    3071
)

itk_add_test(
  NAME itkTriangleMaskedThresholdImageFilterTest
  COMMAND
    ITKThresholdingTestDriver
    --compare
    DATA{Baseline/itkTriangleMaskedThresholdImageFilterTest.png}
    ${ITK_TEST_OUTPUT_DIR}/itkTriangleMaskedThresholdImageFilterTest.png
    itkTriangleMaskedThresholdImageFilterTest
    DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
    DATA{${ITK_DATA_ROOT}/Input/cthead1-threshmask.png}
    ${ITK_TEST_OUTPUT_DIR}/itkTriangleMaskedThresholdImageFilterTest.png
    1
    255
    254
)

itk_add_test(
  NAME itkYenThresholdImageFilterTest
  COMMAND
    ITKThresholdingTestDriver
    --compare
    DATA{Baseline/itkYenThresholdImageFilterTest.png}
    ${ITK_TEST_OUTPUT_DIR}/itkYenThresholdImageFilterTest.png
    itkYenThresholdImageFilterTest
    DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
    ${ITK_TEST_OUTPUT_DIR}/itkYenThresholdImageFilterTest.png
    256
    1
    26
)
itk_add_test(
  NAME itkYenThresholdImageFilterTestNoAutoMinMax
  COMMAND
    ITKThresholdingTestDriver
    --compare-MD5
    DATA{Baseline/itkYenThresholdImageFilterTestNoAutoMinMax.png}
    fcd6bcb56c1689fcef28b57c22475bad
    itkYenThresholdImageFilterTest
    DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
    ${ITK_TEST_OUTPUT_DIR}/itkYenThresholdImageFilterTestNoAutoMinMax.png
    32
    0
    -31744
)

itk_add_test(
  NAME itkYenMaskedThresholdImageFilterTest
  COMMAND
    ITKThresholdingTestDriver
    --compare
    DATA{Baseline/itkYenMaskedThresholdImageFilterTest.png}
    ${ITK_TEST_OUTPUT_DIR}/itkYenMaskedThresholdImageFilterTest.png
    itkYenMaskedThresholdImageFilterTest
    DATA{${ITK_DATA_ROOT}/Input/cthead1.png}
    DATA{${ITK_DATA_ROOT}/Input/cthead1-threshmask.png}
    ${ITK_TEST_OUTPUT_DIR}/itkYenMaskedThresholdImageFilterTest.png
    1
    255
    118
)

itk_add_test(
  NAME itkHuangThresholdImageFilterTestShort
  COMMAND
    ITKThresholdingTestDriver
    --compare
    DATA{Baseline/itkHuangThresholdImageFilterTestShort.png}
    ${ITK_TEST_OUTPUT_DIR}/itkHuangThresholdImageFilterTestShort.png
    itkHuangThresholdImageFilterTest
    DATA{${ITK_DATA_ROOT}/Input/Input-RA-Short.nrrd}
    ${ITK_TEST_OUTPUT_DIR}/itkHuangThresholdImageFilterTestShort.png
    256
    1
    30771
)

itk_add_test(
  NAME itkIntermodesThresholdImageFilterTestShort
  COMMAND
    ITKThresholdingTestDriver
    --compare
    DATA{Baseline/itkIntermodesThresholdImageFilterTestShort.png}
    ${ITK_TEST_OUTPUT_DIR}/itkIntermodesThresholdImageFilterTestShort.png
    itkIntermodesThresholdImageFilterTest
    DATA{${ITK_DATA_ROOT}/Input/Input-RA-Short.nrrd}
    ${ITK_TEST_OUTPUT_DIR}/itkIntermodesThresholdImageFilterTestShort.png
    256
    1
    1000
    1
    14251
)

itk_add_test(
  NAME itkIsoDataThresholdImageFilterTestShort
  COMMAND
    ITKThresholdingTestDriver
    --compare
    DATA{Baseline/itkIsoDataThresholdImageFilterTestShort.png}
    ${ITK_TEST_OUTPUT_DIR}/itkIsoDataThresholdImageFilterTestShort.png
    itkIsoDataThresholdImageFilterTest
    DATA{${ITK_DATA_ROOT}/Input/Input-RA-Short.nrrd}
    ${ITK_TEST_OUTPUT_DIR}/itkIsoDataThresholdImageFilterTestShort.png
    256
    1
    15044
)

itk_add_test(
  NAME itkKittlerIllingworthThresholdImageFilterTestShort
  COMMAND
    ITKThresholdingTestDriver
    --compare
    DATA{Baseline/itkKittlerIllingworthThresholdImageFilterTestShort.png}
    ${ITK_TEST_OUTPUT_DIR}/itkKittlerIllingworthThresholdImageFilterTestShort.png
    itkKittlerIllingworthThresholdImageFilterTest
    DATA{${ITK_DATA_ROOT}/Input/Input-RA-Short.nrrd}
    ${ITK_TEST_OUTPUT_DIR}/itkKittlerIllingworthThresholdImageFilterTestShort.png
    256
    1
    31168
)

itk_add_test(
  NAME itkLiThresholdImageFilterTestShort
  COMMAND
    ITKThresholdingTestDriver
    --compare
    DATA{Baseline/itkLiThresholdImageFilterTestShort.png}
    ${ITK_TEST_OUTPUT_DIR}/itkLiThresholdImageFilterTestShort.png
    itkLiThresholdImageFilterTest
    DATA{${ITK_DATA_ROOT}/Input/Input-RA-Short.nrrd}
    ${ITK_TEST_OUTPUT_DIR}/itkLiThresholdImageFilterTestShort.png
    256
    1
    26939
)

itk_add_test(
  NAME itkMaximumEntropyThresholdImageFilterTestShort
  COMMAND
    ITKThresholdingTestDriver
    --compare
    DATA{Baseline/itkMaximumEntropyThresholdImageFilterTestShort.png}
    ${ITK_TEST_OUTPUT_DIR}/itkMaximumEntropyThresholdImageFilterTestShort.png
    itkMaximumEntropyThresholdImageFilterTest
    DATA{${ITK_DATA_ROOT}/Input/Input-RA-Short.nrrd}
    ${ITK_TEST_OUTPUT_DIR}/itkMaximumEntropyThresholdImageFilterTestShort.png
    256
    1
    22181
)

itk_add_test(
  NAME itkMomentsThresholdImageFilterTestShort
  COMMAND
    ITKThresholdingTestDriver
    --compare
    DATA{Baseline/itkMomentsThresholdImageFilterTestShort.png}
    ${ITK_TEST_OUTPUT_DIR}/itkMomentsThresholdImageFilterTestShort.png
    itkMomentsThresholdImageFilterTest
    DATA{${ITK_DATA_ROOT}/Input/Input-RA-Short.nrrd}
    ${ITK_TEST_OUTPUT_DIR}/itkMomentsThresholdImageFilterTestShort.png
    256
    1
    23238
)

itk_add_test(
  NAME itkOtsuThresholdImageFilterTestShort
  COMMAND
    ITKThresholdingTestDriver
    --compare
    DATA{Baseline/itkOtsuThresholdImageFilterTestShort.png}
    ${ITK_TEST_OUTPUT_DIR}/itkOtsuThresholdImageFilterTestShort.png
    itkOtsuThresholdImageFilterTest
    DATA{${ITK_DATA_ROOT}/Input/Input-RA-Short.nrrd}
    ${ITK_TEST_OUTPUT_DIR}/itkOtsuThresholdImageFilterTestShort.png
    256
    1
    14516
    1
)

itk_add_test(
  NAME itkRenyiEntropyThresholdImageFilterTestShort
  COMMAND
    ITKThresholdingTestDriver
    --compare
    DATA{Baseline/itkRenyiEntropyThresholdImageFilterTestShort.png}
    ${ITK_TEST_OUTPUT_DIR}/itkRenyiEntropyThresholdImageFilterTestShort.png
    itkRenyiEntropyThresholdImageFilterTest
    DATA{${ITK_DATA_ROOT}/Input/Input-RA-Short.nrrd}
    ${ITK_TEST_OUTPUT_DIR}/itkRenyiEntropyThresholdImageFilterTestShort.png
    256
    1
    22181
)

itk_add_test(
  NAME itkShanbhagThresholdImageFilterTestShort
  COMMAND
    ITKThresholdingTestDriver
    --compare
    DATA{Baseline/itkShanbhagThresholdImageFilterTestShort.png}
    ${ITK_TEST_OUTPUT_DIR}/itkShanbhagThresholdImageFilterTestShort.png
    itkShanbhagThresholdImageFilterTest
    DATA{${ITK_DATA_ROOT}/Input/Input-RA-Short.nrrd}
    ${ITK_TEST_OUTPUT_DIR}/itkShanbhagThresholdImageFilterTestShort.png
    256
    1
    28921
)

itk_add_test(
  NAME itkTriangleThresholdImageFilterTestShort
  COMMAND
    ITKThresholdingTestDriver
    --compare
    DATA{Baseline/itkTriangleThresholdImageFilterTestShort.png}
    ${ITK_TEST_OUTPUT_DIR}/itkTriangleThresholdImageFilterTestShort.png
    itkTriangleThresholdImageFilterTest
    DATA{${ITK_DATA_ROOT}/Input/Input-RA-Short.nrrd}
    ${ITK_TEST_OUTPUT_DIR}/itkTriangleThresholdImageFilterTestShort.png
    256
    1
    22313
)

itk_add_test(
  NAME itkYenThresholdImageFilterTestShort
  COMMAND
    ITKThresholdingTestDriver
    --compare
    DATA{Baseline/itkYenThresholdImageFilterTestShort.png}
    ${ITK_TEST_OUTPUT_DIR}/itkYenThresholdImageFilterTestShort.png
    itkYenThresholdImageFilterTest
    DATA{${ITK_DATA_ROOT}/Input/Input-RA-Short.nrrd}
    ${ITK_TEST_OUTPUT_DIR}/itkYenThresholdImageFilterTestShort.png
    256
    1
    22181
)

itk_add_test(
  NAME itkKappaSigmaThresholdImageCalculatorTest01
  COMMAND
    ITKThresholdingTestDriver
    itkKappaSigmaThresholdImageCalculatorTest
    DATA{${ITK_DATA_ROOT}/Input/CellsFluorescence1.png}
    255
    3.5
    10
    229
)

itk_add_test(
  NAME itkKappaSigmaThresholdImageCalculatorTest02
  COMMAND
    ITKThresholdingTestDriver
    itkKappaSigmaThresholdImageCalculatorTest
    DATA{${ITK_DATA_ROOT}/Input/CellsFluorescence2.png}
    255
    3.0
    10
    361
)

itk_add_test(
  NAME itkKappaSigmaThresholdImageFilterTest01
  COMMAND
    ITKThresholdingTestDriver
    --compare
    DATA{Baseline/itkKappaSigmaThresholdImageFilterTest01.png}
    ${ITK_TEST_OUTPUT_DIR}/itkKappaSigmaThresholdImageFilterTest01.png
    itkKappaSigmaThresholdImageFilterTest
    DATA{${ITK_DATA_ROOT}/Input/CellsFluorescence1.png}
    ${ITK_TEST_OUTPUT_DIR}/itkKappaSigmaThresholdImageFilterTest01.png
    255
    3.5
    2
    69
)

itk_add_test(
  NAME itkKappaSigmaThresholdImageFilterTest02
  COMMAND
    ITKThresholdingTestDriver
    --compare
    DATA{Baseline/itkKappaSigmaThresholdImageFilterTest02.png}
    ${ITK_TEST_OUTPUT_DIR}/itkKappaSigmaThresholdImageFilterTest02.png
    itkKappaSigmaThresholdImageFilterTest
    DATA{${ITK_DATA_ROOT}/Input/CellsFluorescence2.png}
    ${ITK_TEST_OUTPUT_DIR}/itkKappaSigmaThresholdImageFilterTest02.png
    255
    3.0
    2
    92
)
