Skip to content
Snippets Groups Projects
Commit 4a5a4e76 authored by Jonathan Guinet's avatar Jonathan Guinet
Browse files

TEST: AdhesionCorrectionFilter test

parent 3ad712c3
No related branches found
No related tags found
No related merge requests found
......@@ -529,6 +529,26 @@ SET_TESTS_PROPERTIES(dmTvDisparityMapMedianFilter PROPERTIES DEPENDS dmTvSubPixe
ADD_TEST(dmTuAdhesionCorrectionFilterNew ${DISPARITYMAP_TESTS4}
otbAdhesionCorrectionFilterNew)
ADD_TEST(dmTuAdhesionCorrectionFilter ${DISPARITYMAP_TESTS4}
otbAdhesionCorrectionFilter
${INPUTDATA}/StereoFixedEdges.tif
${TEMP}/dmTvDisparityMapMedianFilterOutput.tif
${INPUTDATA}/BlankMask.tif
${INPUTDATA}/MedianOutputEdges.tif
${INPUTDATA}/BlankMask.tif
${TEMP}/dmTvAdhesionCorrectionFilterDisparity.tif
${TEMP}/dmTvAdhesionCorrectionFilterMask.tif
${TEMP}/dmTvAdhesionCorrectionFilterRiskEdges.tif
3
0.25
10
30
100.0
100.0
)
SET_TESTS_PROPERTIES(dmTuAdhesionCorrectionFilter PROPERTIES DEPENDS dmTvDisparityMapMedianFilter)
# ------- Fichiers sources CXX -----------------------------------
SET(BasicDisparityMap_SRCS1
......
......@@ -17,17 +17,28 @@
=========================================================================*/
#include "otbAdhesionCorrectionFilter.h"
#include "otbImage.h"
#include "otbStreamingImageFileWriter.h"
#include "otbStandardWriterWatcher.h"
#include "otbImageFileReader.h"
int otbAdhesionCorrectionFilterNew(int argc, char* argv[])
{
const unsigned int Dimension = 2;
const unsigned int Dimension = 2;
typedef float PixelType;
typedef otb::Image<PixelType, Dimension> ImageType;
typedef unsigned char MaskPixelType;
typedef float MaskPixelType;
typedef otb::Image<MaskPixelType, Dimension> MaskType;
typedef otb::ImageFileReader<ImageType> ReaderType;
typedef otb::ImageFileReader<MaskType> MaskReaderType;
typedef otb::StreamingImageFileWriter<ImageType> WriterType;
typedef otb::StreamingImageFileWriter<MaskType> MaskWriterType;
typedef otb::AdhesionCorrectionFilter<ImageType, MaskType> AdhesionCorrectionFilterType;
int otbAdhesionCorrectionFilterNew(int argc, char* argv[])
{
// Instantiation
AdhesionCorrectionFilterType::Pointer filter = AdhesionCorrectionFilterType::New();
......@@ -36,8 +47,67 @@ int otbAdhesionCorrectionFilterNew(int argc, char* argv[])
int otbAdhesionCorrectionFilter(int argc, char* argv[])
{
if ((argc != 15))
{
std::cerr << "Usage: " << argv[0];
std::cerr << " imageinput_fname meddispinput_fname medmaskinput_fname edgedispinput_fname subpixmaskinput_fname"
<< std::endl;
std::cerr << " ouputmap_filename outputmask_filename outputriskedges_filename ";
std::cerr << " radius tolerance discontinuitythres discontinuityhighthres edgethres maxedgegap ";
return EXIT_FAILURE;
}
AdhesionCorrectionFilterType::Pointer filter = AdhesionCorrectionFilterType::New();
return EXIT_SUCCESS;
ReaderType::Pointer inReader = ReaderType::New();
inReader->SetFileName(argv[1]);
ReaderType::Pointer medianDispReader = ReaderType::New();
medianDispReader->SetFileName(argv[2]);
MaskReaderType::Pointer medianMaskReader = MaskReaderType::New();
medianMaskReader->SetFileName(argv[3]);
ReaderType::Pointer edgeDispReader = ReaderType::New();
edgeDispReader->SetFileName(argv[4]);
MaskReaderType::Pointer subPixelMaskReader = MaskReaderType::New();
subPixelMaskReader->SetFileName(argv[5]);
filter->SetInput(inReader->GetOutput());
filter->SetMedianDisparityInput(medianDispReader->GetOutput());
filter->SetMedianMaskInput(medianMaskReader->GetOutput());
filter->SetEdgesDisparityInput(edgeDispReader->GetOutput());
filter->SetSubPixelMaskInput(subPixelMaskReader->GetOutput());
filter->SetRadius(atoi(argv[9]));
filter->SetTolerance(atof(argv[10]));
filter->SetDiscontinuityThreshold(atof(argv[11]));
filter->SetDiscontinuityHighThreshold(atof(argv[12]));
filter->SetEdgeThreshold(atof(argv[13]));
filter->SetMaxEdgeGap(atof(argv[14]));
WriterType ::Pointer dispWriter = WriterType::New();
dispWriter->SetInput(filter->GetOutput());
dispWriter->SetFileName(argv[6]);
otb::StandardWriterWatcher watcher1(dispWriter, filter, "Computing disparity ");
dispWriter->Update();
WriterType::Pointer maskWriter = WriterType::New();
maskWriter->SetInput(filter->GetOutputMask());
maskWriter->SetFileName(argv[7]);
maskWriter->Update();
WriterType::Pointer edgeWriter = WriterType::New();
edgeWriter->SetInput(filter->GetOutputRiskEdges());
edgeWriter->SetFileName(argv[8]);
edgeWriter->Update();
return EXIT_SUCCESS;
}
......@@ -25,6 +25,7 @@
void RegisterTests()
{
REGISTER_TEST(otbAdhesionCorrectionFilterNew);
REGISTER_TEST(otbAdhesionCorrectionFilter);
REGISTER_TEST(otbDisparityMapMedianFilterNew);
REGISTER_TEST(otbDisparityMapMedianFilter);
REGISTER_TEST(otbPixelWiseBlockMatchingImageFilterNew);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment