Create a List of File Names#
Synopsis#
Create a list of numbered file names.
Results#
Output:
output_0.png
output_10.png
output_20.png
output_30.png
output_40.png
output_50.png
output_60.png
output_70.png
output_80.png
output_90.png
output_100.png
output_110.png
output_120.png
output_130.png
output_140.png
output_150.png
***************
output_0000.png
output_0010.png
output_0020.png
output_0030.png
output_0040.png
output_0050.png
output_0060.png
output_0070.png
output_0080.png
output_0090.png
output_0100.png
output_0110.png
output_0120.png
output_0130.png
output_0140.png
output_0150.png
Code#
Python#
#!/usr/bin/env python
import itk
numeric_series_file_names = itk.NumericSeriesFileNames.New(
start_index=0, end_index=150, increment_index=10, series_format="output_%d.png"
)
file_names = numeric_series_file_names.GetFileNames()
for file_name in file_names:
print(file_name)
print()
print("***************")
print()
numeric_series_file_names.SetSeriesFormat("output_%04d.png")
file_names = numeric_series_file_names.GetFileNames()
for file_name in file_names:
print(file_name)
C++#
#include "itkNumericSeriesFileNames.h"
int
main()
{
itk::NumericSeriesFileNames::Pointer numericSeriesFileNames = itk::NumericSeriesFileNames::New();
numericSeriesFileNames->SetStartIndex(0);
numericSeriesFileNames->SetEndIndex(150);
numericSeriesFileNames->SetIncrementIndex(10);
numericSeriesFileNames->SetSeriesFormat("output_%d.png");
std::vector<std::string> fileNames = numericSeriesFileNames->GetFileNames();
for (const auto & fileName : fileNames)
{
std::cout << fileName << std::endl;
}
std::cout << std::endl;
std::cout << "***************" << std::endl;
std::cout << std::endl;
numericSeriesFileNames->SetSeriesFormat("output_%04d.png");
fileNames = numericSeriesFileNames->GetFileNames();
for (const auto & fileName : fileNames)
{
std::cout << fileName << std::endl;
}
return EXIT_SUCCESS;
}
Classes demonstrated#
-
class NumericSeriesFileNames : public itk::Object
Generate an ordered sequence of filenames.
This class generate an ordered sequence of files whose filenames contain a single unique, non-negative, integral value (e.g. test.1.png, test2.png, foo.3, etc.).
The file name is created from a sprintf-style series format which should contain an integer format string like “%d”. Bad formats will cause the series reader to throw an exception.
Warning: returned filenames (which may be full or relative paths) are not checked against any system-imposed path-length limit, because of difficulties finding a portable method to do so.
- ITK Sphinx Examples: