00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef WITKIMAGECONVERSION_TEST_H
00026 #define WITKIMAGECONVERSION_TEST_H
00027
00028 #include <vector>
00029
00030 #include <boost/shared_ptr.hpp>
00031
00032 #include <cxxtest/TestSuite.h>
00033
00034 #include "../../common/WLogger.h"
00035 #include "../WITKImageConversion.h"
00036
00037
00038
00039
00040 class WITKImageConversionTest : public CxxTest::TestSuite
00041 {
00042 public:
00043
00044
00045
00046 void setUp()
00047 {
00048 WLogger::startup();
00049 }
00050
00051
00052
00053
00054
00055 void testConversion()
00056 {
00057 #ifdef OW_USE_ITK
00058
00059 boost::shared_ptr< std::vector< int > > values( new std::vector< int >( 27, 0 ) );
00060 for( int k = 0; k < 27; ++k )
00061 {
00062 ( *values )[ k ] = 27 - k;
00063 }
00064 boost::shared_ptr< WGridRegular3D > g( new WGridRegular3D( 3, 3, 3 ) );
00065 boost::shared_ptr< WValueSet< int > > v( new WValueSet< int >( 0, 1, values, W_DT_SIGNED_INT ) );
00066 boost::shared_ptr< WDataSetScalar > ds( new WDataSetScalar( v, g ) );
00067
00068 itk::Image< int, 3 >::Pointer i = makeImageFromDataSet< int >( ds );
00069 boost::shared_ptr< WDataSetScalar > newds = makeDataSetFromImage< int >( i );
00070
00071 TS_ASSERT_SAME_DATA( boost::shared_dynamic_cast< WValueSet< int > >( ds->getValueSet() )->rawData(),
00072 boost::shared_dynamic_cast< WValueSet< int > >( newds->getValueSet() )->rawData(), sizeof( int ) * 27 );
00073 #endif // OW_USE_ITK
00074 }
00075 };
00076
00077 #endif // WITKIMAGECONVERSION_TEST_H