Esempio n. 1
0
bool filepattern_to_image_list(std::vector<Image>& images,
		const std::string& pattern) {
	// Try range pattern
	FilenameList files;
	bool was_range_pattern = filenames_from_pattern(files, pattern);

	if (was_range_pattern) {
		for (int i = 0; i < files.size(); i++) {
			images.push_back(Image(files[i]));
		}
		return true;
	}

	// Try split pattern
	Size size;
	std::string filename;

	bool was_split_pattern = parse_image_split_pattern(pattern, &size,
			&filename);

	if (was_split_pattern) {
		// Split
		std::vector<Image> split_images = image_split(Image(filename), size);

		for (int i = 0; i < split_images.size(); i++) {
			images.push_back(split_images[i]);
		}
		return true;
	}

	// Treat as normal filename
	images.push_back(Image(pattern));

	return false;
}
Esempio n. 2
0
static FilenameList io_directory_subdirectories(const char* path) {
	FilenameList list;
	DirListing listing = list_directory(path);
	for (int i = 0; i < listing.size(); i++) {
		if (listing[i].is_directory) {
			list.push_back(listing[i].name);
		}
	}
	return list;
}
Esempio n. 3
0
/* Either given as a list of filenames or a base name, extension,
 * and number of sequentially numbered files */
static FilenameList parse_imgfilelist(const YAML::Node& node) {
	int seq = parse_defaulted(node, "variations", 0);
	bool is_seq = seq > 0;

	FilenameList filenames;

	if (is_seq) {
		std::string tilefile = parse_str(node["file"]);
		for (int i = 0; i < seq; i++) {
			char number[32];
			snprintf(number, 32, "%d", i);
			filenames.push_back(
					tilefile + number + parse_str(node["extension"]));
		}
	} else {
		node["file"] >> filenames;
	}
	return filenames;
}
Esempio n. 4
0
void IndexedIOTestSuite<FileIndexedIO>::getFilenames( FilenameList &filenames )
{
	filenames.clear();

	filenames.push_back("./test/IECore/data/fioFiles/2.13.0/rhel4.i686/types.fio");
	filenames.push_back("./test/IECore/data/fioFiles/2.13.0/osx104.i686/types.fio");
	filenames.push_back("./test/IECore/data/fioFiles/3.0.0/rhel4.i686/types.fio");
	filenames.push_back("./test/IECore/data/fioFiles/3.0.0/cent5.x86_64/types.fio");
	filenames.push_back("./test/IECore/data/fioFiles/4.16.0/cent5.x86_64/types.fio");
	filenames.push_back("./test/IECore/data/fioFiles/5.0.0/cent5.x86_64/types.fio");
}