本文整理汇总了C++中typenamereadertype::Pointer::SetFileNames方法的典型用法代码示例。如果您正苦于以下问题:C++ Pointer::SetFileNames方法的具体用法?C++ Pointer::SetFileNames怎么用?C++ Pointer::SetFileNames使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类typenamereadertype::Pointer
的用法示例。
在下文中一共展示了Pointer::SetFileNames方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: catch
void DicomDiffusionImageReader<TPixelType, TDimension>
::GenerateOutputInformation(void)
{
typename OutputImageType::Pointer output = this->GetOutput();
typedef itk::ImageSeriesReader<InputImageType> ReaderType;
// Read the first (or last) volume and use its size.
if (m_Headers.size() > 0)
{
typename ReaderType::Pointer reader = ReaderType::New();
try
{
// Read the image
reader->SetFileNames (m_Headers[0]->m_DicomFilenames);
reader->UpdateOutputInformation();
output->SetSpacing( reader->GetOutput()->GetSpacing() ); // Set the image spacing
output->SetOrigin( reader->GetOutput()->GetOrigin() ); // Set the image origin
output->SetDirection( reader->GetOutput()->GetDirection() ); // Set the image direction
output->SetLargestPossibleRegion( reader->GetOutput()->GetLargestPossibleRegion() );
output->SetVectorLength( m_Headers.size() );
}
catch (itk::ExceptionObject &e)
{
throw e;
}
}
else
{
itkExceptionMacro(<< "At least one filename is required." );
}
}
示例2: progress
void DicomDiffusionImageReader<TPixelType, TDimension>
::GenerateData()
{
typedef itk::ImageSeriesReader<InputImageType> ReaderType;
typename OutputImageType::Pointer output = this->GetOutput();
typedef typename OutputImageType::RegionType RegionType;
RegionType requestedRegion = output->GetRequestedRegion();
// Each file must have the same size.
SizeType validSize = requestedRegion.GetSize();
int numberOfVolumes = static_cast<int>(m_Headers.size());
// Allocate the output buffer
output->SetBufferedRegion( requestedRegion );
output->Allocate();
itk::ProgressReporter progress(this, 0,
m_Headers.size(),
m_Headers.size());
itk::ImageRegionIterator<OutputImageType> ot (output, requestedRegion );
// Clear the eventual previous content of the MetaDictionary array
//if( m_MetaDataDictionaryArray.size() )
// {
// for(unsigned int i=0; i<m_MetaDataDictionaryArray.size(); i++)
// {
// // each element is a raw pointer, delete them.
// delete m_MetaDataDictionaryArray[i];
// }
// }
//m_MetaDataDictionaryArray.clear();
typename OutputImageType::PixelType vec;
for (int i = 0; i < numberOfVolumes; i ++)
{
MITK_INFO << "Loading volume " << i+1 << "/" << numberOfVolumes;
typename ReaderType::Pointer reader = ReaderType::New();
reader->SetFileNames(m_Headers[i]->m_DicomFilenames);
reader->UpdateLargestPossibleRegion();
if (reader->GetOutput()->GetRequestedRegion().GetSize() != validSize)
{
itkExceptionMacro(<< "Size mismatch!");
}
itk::ImageRegionConstIterator<InputImageType> it (reader->GetOutput(),
reader->GetOutput()->GetLargestPossibleRegion());
while (!it.IsAtEnd())
{
vec = ot.Get();
vec.SetElement(i, it.Get());
ot.Set(vec);
++it;
++ot;
}
ot = ot.Begin();
progress.CompletedPixel();
}