-
Notifications
You must be signed in to change notification settings - Fork 114
Expand file tree
/
Copy pathvtkPlusSequenceIO.cxx
More file actions
52 lines (45 loc) · 2.47 KB
/
vtkPlusSequenceIO.cxx
File metadata and controls
52 lines (45 loc) · 2.47 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
/*=Plus=header=begin======================================================
Program: Plus
Copyright (c) Laboratory for Percutaneous Surgery. All rights reserved.
See License.txt for details.
=========================================================Plus=header=end*/
#include "PlusConfigure.h"
#include "vtkPlusSequenceIO.h"
#include <vtkIGSIOSequenceIO.h>
/// VTK includes
#include <vtkNew.h>
//----------------------------------------------------------------------------
igsioStatus vtkPlusSequenceIO::Write(const std::string& filename, vtkIGSIOTrackedFrameList* frameList, US_IMAGE_ORIENTATION orientationInFile/*=US_IMG_ORIENT_MF*/, bool useCompression/*=true*/, bool reduceImageDataToOnePixel/*=false*/, bool writeHeaderOnly/*=false*/)
{
std::string outputDirectory = "";
if (!vtksys::SystemTools::FileIsFullPath(filename))
{
outputDirectory = vtkPlusConfig::GetInstance()->GetOutputDirectory();
}
return vtkIGSIOSequenceIO::Write(filename, outputDirectory, frameList, orientationInFile, useCompression, reduceImageDataToOnePixel, writeHeaderOnly);
}
//----------------------------------------------------------------------------
igsioStatus vtkPlusSequenceIO::Write(const std::string& filename, igsioTrackedFrame* frame, US_IMAGE_ORIENTATION orientationInFile /*= US_IMG_ORIENT_MF*/, bool useCompression /*= true*/, bool reduceImageDataToOnePixel/*=false*/, bool writeHeaderOnly/*=false*/)
{
std::string outputDirectory = "";
if (!vtksys::SystemTools::FileIsFullPath(filename))
{
outputDirectory = vtkPlusConfig::GetInstance()->GetOutputDirectory();
}
return vtkIGSIOSequenceIO::Write(filename, outputDirectory, frame, orientationInFile, useCompression, reduceImageDataToOnePixel, writeHeaderOnly);
}
//----------------------------------------------------------------------------
igsioStatus vtkPlusSequenceIO::Read(const std::string& trackedSequenceDataFileName, vtkIGSIOTrackedFrameList* frameList)
{
std::string trackedSequenceDataFilePath = trackedSequenceDataFileName;
// If file is not found in the current directory then try to find it in the image directory, too
if (!vtksys::SystemTools::FileExists(trackedSequenceDataFilePath.c_str(), true))
{
if (vtkPlusConfig::GetInstance()->FindImagePath(trackedSequenceDataFileName, trackedSequenceDataFilePath) == PLUS_FAIL)
{
LOG_ERROR("Cannot find sequence metafile: " << trackedSequenceDataFileName);
return PLUS_FAIL;
}
}
return vtkIGSIOSequenceIO::Read(trackedSequenceDataFilePath, frameList);
}