Static Public Member Functions

SceneIOTestClass Class Reference

List of all members.

Static Public Member Functions

static std::string LocateFile (const std::string &filename)
 returns full path to a test file
static mitk::BaseData::Pointer LoadBaseData (const std::string &filename)
static mitk::Image::Pointer LoadImage (const std::string &filename)
static mitk::Surface::Pointer LoadSurface (const std::string &filename)
static mitk::PointSet::Pointer CreatePointSet ()
static void FillStorage (mitk::DataStorage *storage)
static void VerifyStorage (mitk::DataStorage *storage)

Detailed Description

Definition at line 39 of file mitkSceneIOTest.cpp.


Member Function Documentation

static mitk::PointSet::Pointer SceneIOTestClass::CreatePointSet (  ) [inline, static]

Definition at line 95 of file mitkSceneIOTest.cpp.

References mitk::PointSet::New().

Referenced by FillStorage().

{
  
  mitk::PointSet::Pointer ps = mitk::PointSet::New();
  mitk::PointSet::PointType p;
  mitk::FillVector3D(p, 1.0, -2.0, 33.0);
  ps->SetPoint(0, p);
  mitk::FillVector3D(p, 100.0, -200.0, 3300.0);
  ps->SetPoint(1, p);
  mitk::FillVector3D(p, 2.0, -3.0, 22.0);
  ps->SetPoint(2, p, mitk::PTCORNER); // add point spec
  //mitk::FillVector3D(p, -2.0, -2.0, -2.22);
  //ps->SetPoint(0, p, 1); // ID 0 in timestep 1
  //mitk::FillVector3D(p, -1.0, -1.0, -11.22);
  //ps->SetPoint(1, p, 1); // ID 1 in timestep 1
  //mitk::FillVector3D(p, 1000.0, 1000.0, 1122.22);
  //ps->SetPoint(11, p, mitk::PTCORNER, 2); // ID 11, point spec, timestep 2
  return ps;
}
static void SceneIOTestClass::FillStorage ( mitk::DataStorage storage ) [inline, static]

Definition at line 115 of file mitkSceneIOTest.cpp.

References mitk::DataStorage::Add(), CreatePointSet(), LoadImage(), LoadSurface(), LocateFile(), MITK_TEST_CONDITION_REQUIRED, mitk::DataNode::New(), and mitk::StringProperty::New().

Referenced by mitkSceneIOTest().

{
  mitk::Image::Pointer image = LoadImage( LocateFile("Pic3D.pic.gz") );
  MITK_TEST_CONDITION_REQUIRED(image.IsNotNull(),"Loading test image Pic3D.pic.gz");

  image->SetProperty("image type", mitk::StringProperty::New("test image") );
  image->SetProperty("greetings", mitk::StringProperty::New("to mom") );

  mitk::DataNode::Pointer imagenode = mitk::DataNode::New();
  imagenode->SetData( image );
  imagenode->SetName( "Pic3D" );
  storage->Add( imagenode );

  mitk::DataNode::Pointer imagechildnode = mitk::DataNode::New();
  imagechildnode->SetData( image );
  imagechildnode->SetName( "Pic3D again" );
  storage->Add( imagechildnode, imagenode );

  
  mitk::Surface::Pointer surface = LoadSurface( LocateFile("binary.stl") );
  MITK_TEST_CONDITION_REQUIRED(surface.IsNotNull(),"Loading test surface binary.stl");
  
  surface->SetProperty("surface type", mitk::StringProperty::New("test surface") );
  surface->SetProperty("greetings", mitk::StringProperty::New("to dad") );
  
  mitk::DataNode::Pointer surfacenode = mitk::DataNode::New();
  surfacenode->SetData( surface );
  surfacenode->SetName( "binary" );
  storage->Add( surfacenode );

  mitk::PointSet::Pointer ps = CreatePointSet();
  mitk::DataNode::Pointer psenode = mitk::DataNode::New();
  psenode->SetData( ps );
  psenode->SetName( "points" );
  storage->Add( psenode );

}
static mitk::BaseData::Pointer SceneIOTestClass::LoadBaseData ( const std::string &  filename ) [inline, static]

Definition at line 51 of file mitkSceneIOTest.cpp.

References MITK_TEST_FAILED_MSG, and mitk::DataNodeFactory::New().

Referenced by LoadImage(), and LoadSurface().

{
  mitk::DataNodeFactory::Pointer factory = mitk::DataNodeFactory::New();
  try
  {
    factory->SetFileName( filename );
    factory->Update();

    if(factory->GetNumberOfOutputs()<1)
    {
      MITK_TEST_FAILED_MSG(<< "Could not find test data '" << filename << "'");
    }

    mitk::DataNode::Pointer node = factory->GetOutput( 0 );
    return node->GetData();
  }
  catch ( itk::ExceptionObject & e )
  {
    MITK_TEST_FAILED_MSG(<< "Failed loading test data '" << filename << "': " << e.what());
  }
}
static mitk::Image::Pointer SceneIOTestClass::LoadImage ( const std::string &  filename ) [inline, static]

Definition at line 73 of file mitkSceneIOTest.cpp.

References LoadBaseData(), and MITK_TEST_FAILED_MSG.

Referenced by FillStorage().

{
  mitk::BaseData::Pointer basedata = LoadBaseData( filename );
  mitk::Image::Pointer image = dynamic_cast<mitk::Image*>(basedata.GetPointer());
  if(image.IsNull())
  {
    MITK_TEST_FAILED_MSG(<< "Test image '" << filename << "' was not loaded as an mitk::Image");
  }
  return image;
}
static mitk::Surface::Pointer SceneIOTestClass::LoadSurface ( const std::string &  filename ) [inline, static]

Definition at line 84 of file mitkSceneIOTest.cpp.

References LoadBaseData(), and MITK_TEST_FAILED_MSG.

Referenced by FillStorage().

{
  mitk::BaseData::Pointer basedata = LoadBaseData( filename );
  mitk::Surface::Pointer surface = dynamic_cast<mitk::Surface*>(basedata.GetPointer());
  if(surface.IsNull())
  {
    MITK_TEST_FAILED_MSG(<< "Test surface '" << filename << "' was not loaded as an mitk::Surface");
  }
  return surface;
}
static std::string SceneIOTestClass::LocateFile ( const std::string &  filename ) [inline, static]

returns full path to a test file

Definition at line 44 of file mitkSceneIOTest.cpp.

References mitk::StandardFileLocations::GetInstance(), and MITK_TEST_CONDITION_REQUIRED.

Referenced by FillStorage().

{
  mitk::StandardFileLocations::Pointer locator = mitk::StandardFileLocations::GetInstance();
  MITK_TEST_CONDITION_REQUIRED(locator.IsNotNull(),"Instantiating StandardFileLocations") 
  return locator->FindFile(filename.c_str(), "Core/Code/Testing/Data");
}
static void SceneIOTestClass::VerifyStorage ( mitk::DataStorage storage ) [inline, static]

Definition at line 153 of file mitkSceneIOTest.cpp.

References mitk::DataStorage::GetNamedNode(), mitk::DataStorage::GetSources(), and MITK_TEST_CONDITION_REQUIRED.

Referenced by mitkSceneIOTest().

{
  //TODO the Surface and PointSet are uncommented until the material property is saved properly
  mitk::DataNode::Pointer imagenode = storage->GetNamedNode("Pic3D");
  MITK_TEST_CONDITION_REQUIRED(imagenode.IsNotNull(),"Get previously stored image node");

  //Image
  std::string testString("");
  imagenode->GetStringProperty("image type", testString);
  MITK_TEST_CONDITION_REQUIRED(!(testString == "test image") ,"Get StringProperty from previously stored image node");

  imagenode->GetStringProperty("greetings", testString);
  MITK_TEST_CONDITION_REQUIRED(!(testString == "to mom") ,"Get another StringProperty from previously stored image node");

  mitk::Image::Pointer image = dynamic_cast<mitk::Image*>(imagenode->GetData());
  MITK_TEST_CONDITION_REQUIRED(image.IsNotNull(),"Loading test image from Datastorage");

  //Get Image child node
  mitk::DataNode::Pointer imagechildnode = storage->GetNamedNode("Pic3D again");
  mitk::DataStorage::SetOfObjects::ConstPointer objects = storage->GetSources(imagechildnode);

  MITK_TEST_CONDITION_REQUIRED(objects->Size() == 1,"Check size of image child nodes source list");
  MITK_TEST_CONDITION_REQUIRED(objects->ElementAt(0) == imagenode,"Check for right parent node");

  mitk::Image::Pointer imagechild = dynamic_cast<mitk::Image*>(imagechildnode->GetData());
  MITK_TEST_CONDITION_REQUIRED(imagechild.IsNotNull(),"Loading child test image from Datastorage");

  //Surface
  mitk::DataNode::Pointer surfacenode = storage->GetNamedNode("binary");
  MITK_TEST_CONDITION_REQUIRED(surfacenode.IsNotNull(),"Get previously stored surface node");

  surfacenode->GetStringProperty("surface type", testString);
  MITK_TEST_CONDITION_REQUIRED(!(testString.compare("test surface") == 0) ,"Get StringProperty from previously stored surface node");

  surfacenode->GetStringProperty("greetings", testString);
  MITK_TEST_CONDITION_REQUIRED(!(testString.compare("to dad") == 0) ,"Get another StringProperty from previously stored surface node");

  mitk::Surface::Pointer surface = dynamic_cast<mitk::Surface*>(surfacenode->GetData());
  MITK_TEST_CONDITION_REQUIRED(surface.IsNotNull(),"Loading test surface from Datastorage");


  //PointSet
  mitk::DataNode::Pointer pointsnode = storage->GetNamedNode("points");
  MITK_TEST_CONDITION_REQUIRED(pointsnode.IsNotNull(),"Get previously stored PointSet node");

  mitk::PointSet::Pointer pointset = dynamic_cast<mitk::PointSet*>(pointsnode->GetData());
  MITK_TEST_CONDITION_REQUIRED(pointset.IsNotNull(),"Loading test PointSet from Datastorage");

  mitk::PointSet::PointType p = pointset->GetPoint(0);
  MITK_TEST_CONDITION_REQUIRED(p[0] == 1.0 && p[1] == -2.0 && p[2] == 33.0, "Test Pointset entry 0 after loading");

  p = pointset->GetPoint(1);
  MITK_TEST_CONDITION_REQUIRED(p[0] == 100.0 && p[1] == -200.0 && p[2] == 3300.0, "Test Pointset entry 1 after loading");

  p = pointset->GetPoint(2);
  MITK_TEST_CONDITION_REQUIRED(p[0] == 2.0 && p[1] == -3.0 && p[2] == 22.0, "Test Pointset entry 2 after loading");

}

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines