Skip to content
Snippets Groups Projects
Commit 0fc1ea67 authored by Guillaume Pasero's avatar Guillaume Pasero
Browse files

ENH: JIRA 357: test added for DisparityTranslateFitler

parent e0b96893
Branches
Tags
No related merge requests found
......@@ -632,6 +632,23 @@ ADD_TEST(dmTvBijectionCoherencyFilter ${DISPARITYMAP_TESTS4}
${TEMP}/dmTvBijectionCoherencyFilterOutput.tif
)
# ------- otb::DisparityTranslateFilter ----------
ADD_TEST(dmTuDisparityTranslateFilterNew ${DISPARITYMAP_TESTS4}
otbDisparityTranslateFilterNew)
ADD_TEST(dmTvDisparityTranslateFilter ${DISPARITYMAP_TESTS4}
--compare-image ${EPSILON_6}
${BASELINE}/dmTvDisparityTranslateFilterOutput.tif
${TEMP}/dmTvDisparityTranslateFilterOutput.tif
otbDisparityTranslateFilter
${INPUTDATA}/sensor_stereo_blockmatching_output.tif
${INPUTDATA}/sensor_stereo_rectif_inv_left.tif
${INPUTDATA}/sensor_stereo_rectif_right.tif
${EXAMPLEDATA}/sensor_stereo_left.tif
${TEMP}/dmTvDisparityTranslateFilterOutput.tif
)
# ------- Fichiers sources CXX -----------------------------------
SET(BasicDisparityMap_SRCS1
......@@ -681,6 +698,7 @@ otbSubPixelDisparityImageFilter.cxx
otbDisparityMapTo3DFilter.cxx
otbMultiDisparityMapTo3DFilter.cxx
otbBijectionCoherencyFilter.cxx
otbDisparityTranslateFilter.cxx
)
OTB_ADD_EXECUTABLE(otbDisparityMapTests1 "${BasicDisparityMap_SRCS1}" "OTBDisparityMap;OTBIO;OTBTesting")
......
......@@ -41,4 +41,6 @@ void RegisterTests()
REGISTER_TEST(otbMultiDisparityMapTo3DFilterNew);
REGISTER_TEST(otbBijectionCoherencyFilter);
REGISTER_TEST(otbBijectionCoherencyFilterNew);
REGISTER_TEST(otbDisparityTranslateFilter);
REGISTER_TEST(otbDisparityTranslateFilterNew);
}
/*=========================================================================
Program: ORFEO Toolbox
Language: C++
Date: $Date$
Version: $Revision$
Copyright (c) Centre National d'Etudes Spatiales. All rights reserved.
See OTBCopyright.txt for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notices for more information.
=========================================================================*/
#include "otbDisparityTranslateFilter.h"
#include "otbImage.h"
#include "otbVectorImage.h"
#include "otbImageFileReader.h"
#include "otbImageFileWriter.h"
#include "otbVectorImageToImageListFilter.h"
#include "otbImageListToVectorImageFilter.h"
typedef otb::Image<float, 2> FloatImageType;
typedef otb::VectorImage<float, 2> FloatVectorImageType;
typedef otb::ImageFileReader<FloatImageType> ReaderType;
typedef otb::ImageFileReader
<FloatVectorImageType> ReaderVectorType;
typedef otb::ImageFileWriter
<FloatVectorImageType> WriterType;
typedef otb::ImageFileWriter
<FloatImageType> WriterScalarType;
typedef otb::ImageList<FloatImageType> ImageListType;
typedef otb::VectorImageToImageListFilter
<FloatVectorImageType,
ImageListType> VectorToListFilterType;
typedef otb::ImageListToVectorImageFilter
<ImageListType,
FloatVectorImageType> ListToVectorFilterType;
typedef otb::DisparityTranslateFilter
<FloatImageType,
FloatVectorImageType,
FloatImageType,
FloatImageType> TranslateFilter;
int otbDisparityTranslateFilterNew(int argc, char* argv[])
{
// Instantiation
TranslateFilter::Pointer filter = TranslateFilter::New();
return EXIT_SUCCESS;
}
int otbDisparityTranslateFilter(int argc, char* argv[])
{
if (argc < 6)
{
std::cout << "Usage: "<<argv[0]<<" dispMap_epi leftInvGrid rightDirectGrid left_sensor dispMap_sensor" << std::endl;
return EXIT_FAILURE;
}
ReaderVectorType::Pointer dispReader = ReaderVectorType::New();
dispReader->SetFileName(argv[1]);
ReaderVectorType::Pointer leftGridReader = ReaderVectorType::New();
leftGridReader->SetFileName(argv[2]);
ReaderVectorType::Pointer rightGridReader = ReaderVectorType::New();
rightGridReader->SetFileName(argv[3]);
ReaderType::Pointer leftSensor = ReaderType::New();
leftSensor->SetFileName(argv[4]);
VectorToListFilterType::Pointer vectorToListFilter = VectorToListFilterType::New();
vectorToListFilter->SetInput(dispReader->GetOutput());
vectorToListFilter->UpdateOutputInformation();
TranslateFilter::Pointer translator = TranslateFilter::New();
translator->SetHorizontalDisparityMapInput(vectorToListFilter->GetOutput()->GetNthElement(0));
translator->SetVerticalDisparityMapInput(vectorToListFilter->GetOutput()->GetNthElement(1));
translator->SetInverseEpipolarLeftGrid(leftGridReader->GetOutput());
translator->SetDirectEpipolarRightGrid(rightGridReader->GetOutput());
translator->SetLeftSensorImageInput(leftSensor->GetOutput());
ImageListType::Pointer outputList = ImageListType::New();
outputList->PushBack(translator->GetHorizontalDisparityMapOutput());
outputList->PushBack(translator->GetVerticalDisparityMapOutput());
ListToVectorFilterType::Pointer listToVectorFilter = ListToVectorFilterType::New();
listToVectorFilter->SetInput(outputList);
WriterType::Pointer writer = WriterType::New();
writer->SetInput(listToVectorFilter->GetOutput());
writer->SetFileName(argv[5]);
writer->Update();
return EXIT_SUCCESS;
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment