Grouping files using a pattern fileΒΆ

Individual files can be grouped together into a single fileset using a pattern file. This works for any single-file format that Bio-Formats supports, as long as all files are in the same format. It is most useful for sets of TIFF, JPEG, PNG, etc. files that do not have any associated metadata.

All files to be grouped together should be in the same folder. The pattern file should be in the same folder as the other files; it can have any name, but must have the .pattern extension. The pattern file is what must be opened or imported, so it may be helpful to give it a descriptive or easily-recognizable name.

The pattern file contains a single line of text that is specially formatted to describe how the files should be grouped. The file can be created in any text editor.

The text in the pattern file can take one of several forms. To illustrate, consider a folder with the following file names:

red.tiff
green.tiff
blue.tiff
test_Z0_C0.png
test_Z1_C0.png
test_Z0_C1.png
test_Z1_C1.png
test_Z0_C2.png
test_Z1_C2.png
test_Z00.tiff
test_Z01.tiff

A pattern file that groups red.tiff, green.tiff, and blue.tiff in that order would look like:

<red,green,blue>.tiff

A pattern that groups test_Z0_C0.png, test_Z1_C0.png, test_Z0_C2.png, and test_Z1_C2.png:

test_Z<0-1>_C<0-2:2>.png

The <> notation in general can accept a single literal value, a comma-separated list of literal values, a range of integer values, or a range of integer values with a step value greater than 1 (the range and step are separated by :). Note that inverting the values in a range (e.g. <2-0>) is not supported and will cause an exception to be thrown.

The characters immediately preceding the < can affect which dimension is assigned to the specified values. The values will be interpreted as:

  • channels, if c, ch, w, or wavelength precede <

  • timepoints, if t, tl, tp, or timepoint precede <

  • Z sections, if z, zs, sec, fp, focal, or focalplane precede <

  • series, if s, sp, or series precede <

Note that the listed dimension specifier characters are case insensitive. A separator character (underscore or space) must precede the dimension specifier if it is not at the beginning of the filename. In the above example, 2 Z sections and 2 out of 3 channels would be detected according to the dimension specifiers.

Leading zeros in the integer values must be specified. To group test_Z00.tiff and test_Z01.tiff:

test_Z<00-01>.tiff

or:

test_Z0<0-1>.tiff

Note that this pattern would not group the files correctly:

test_Z<0-1>.tiff

A pattern file that groups all PNG files beginning with test_ would look like:

test_.*.png

This and most other Java-style regular expressions can be used in place of the <> notation above. See the java.util.regex.Pattern Javadoc for more information on constructing regular expressions.