Stoner.Image.ImageFolder

class Stoner.Image.ImageFolder(*args, **kargs)[source]

Folder object for images.

ImageFolder is designed to behave pretty much like DataFolder but with functions and loaders appropriate for image based files.

type

the type ob object to store in the folder (defaults to Stoner.Cire.Data)

Type:

Stoner.Image.core.ImageArray

extra_args

Extra arguments to use when instantiatoing the contents of the folder from a file on disk.

Type:

dict

pattern

A filename globbing pattern that matches the contents of the folder. If a regular expression is provided then any named groups are used to construct additional metadata entryies from the filename. Default is . to match all files with an extension.

Type:

str or regexp

read_means

If true, additional metadata keys are added that return the mean value of each column of the data. This can hep in grouping files where one column of data contains a constant value for the experimental state. Default is False

Type:

bool

recursive

Specifies whether to search recursively in a whole directory tree. Default is True.

Type:

bool

flatten

Specify where to present subdirectories as separate groups in the folder (False) or as a single group (True). Default is False. The DiskBasedFolderMixin.flatten() method has the equivalent effect and DiskBasedFolderMixin.unflatten() reverses it.

Type:

bool

directory

The root directory on disc for the folder - by default this is the current working directory.

Type:

str

multifile

Whether to select individual files manually that are not (necessarily) in a common directory structure.

Type:

boo

readlist

Whether to read the directory immediately on creation. Default is True

Type:

bool

Methods

__init__(*args, **kargs)

Additional constructor for DiskBasedFolderMixins.

add_group(key)

Add a new group to the current baseFolder with the given key.

align(*args, **kargs)

Align each image in the folder to the reference image.

all()

Iterate over all the files in the Folder and all it's sub Folders recursely.

append(value)

Append an item to the folder object.

apply_all(func, *args, **kargs)

Apply function to all images in the stack.

as_stack()

Return a ImageStack of the images in the current group.

average([weights, _box, _metadata])

Get an array of average pixel values for the stack.

clear()

Clear the subgroups.

compress([base, key, keep_terminal])

Compresses all empty groups from the root up until the first non-empty group is located.

count(value)

Provide a count method like a sequence.

extend(values)

S.extend(iterable) -- extend sequence by appending elements from the iterable

fetch()

Preload the contents of the DiskBasedFolderMixin.

file(name, value[, create, pathsplit])

recursely add groups in order to put the named value into a virtual tree of baseFolder.

filter([filter, invert, copy, recurse, prune])

Filter the current set of files by some criterion.

filterout(filter[, copy, recurse, prune])

Synonym for self.filter(filter,invert=True).

flatten([depth])

Compresses all the groups and sub-groups iunto a single flat file list.

from_tiff(filename, **kargs)

Create a new ImageArray from a tiff file.

get(name[, default])

Return either a sub-group or named object from this folder.

getlist(**kargs)

Scan the current directory, optionally recursively to build a list of filenames.

group(key)

Sort Files into a series of objectFolders according to the value of the key.

index(value[, start, end])

Provide an index method like a sequence.

insert(index, value)

Implement the insert method with the option to append as well.

items()

Return the key,value pairs for the subbroups of this folder.

keep_latest()

Filter out earlier revisions of files with the same name.

keys()

Return the keys used to access the sub-=groups of this folder.

loadgroup()

Load all files from this group into memory.

make_name([value])

Construct a name from the value object if possible.

mask_select()

Run the ImageFile.mask.select() on each image.

mean([_box, _metadata])

Calculate the mean value of all the images in the stack.

montage(*args, **kargs)

Call the plot method for each metadataObject, but switching to a subplot each time.

on_load_process(tmp)

Carry out processing on a newly loaded file to set means and extra metadata.

pop([name, default])

Return and remove either a subgroup or named object from this folder.

popitem()

Return the most recent subgroup from this folder.

prune([name])

Remove any empty groups from the objectFolder (and subgroups).

remove(value)

S.remove(value) -- remove first occurrence of value.

reverse()

S.reverse() -- reverse IN PLACE

save([root])

Save the entire data folder out to disc using the groups as a directory tree.

select(*args, **kargs)

Select a subset of the objects in the folder based on flexible search criteria on the metadata.

setdefault(k[, d])

Return or set a subgroup or named object.

slice_metadata(key[, output])

Return an array of the metadata values for each item/file in the top level group.

sort([key, reverse, recurse])

Sort the files by some key.

stddev([weights, _box, _metadata])

Calculate weighted standard deviation for stack.

stderr([weights, _box, _metadata])

Calculate standard error in the stack average.

to_tiff(filename)

Save the ImageArray as a tiff image with metadata.

unflatten()

Take the file list an unflattens them according to the file paths.

unload([name])

Remove the instance from memory without losing the name in the Folder.

update(other)

Update this folder with a dictionary or another folder.

values()

Return the sub-groups of this folder.

walk_groups(walker, **kargs)

Walk through a hierarchy of groups and calls walker for each file.

zip_groups(groups)

Return a list of tuples of metadataObjects drawn from the specified groups.

Attributes

basenames

Return a list of just the filename parts of the objectFolder.

clone

Clone just does a deepcopy as a property for compatibility with Stoner.Core.DataFile.

debug

Just read the local debug value.

defaults

Build a single list of all of our defaults by iterating over the __mro__, caching the result.

depth

Give the maximum number of levels of group below the current objectFolder.

directory

Just alias directory to root now.

each

Return a Stoner.folders.each.item proxy object.

files

Return an iterator of potentially unloaded named objects.

groups

Subfolders are held in an ordered dictionary of groups.

images

Iterate over just the images in the Folder.

instance

Return a default instance of the type of object in the folder.

is_empty

Return True if the folder is empty.

key

Override the parent class key to use the directory attribute.

layout

Return a tuple that describes the number of files and groups in the folder.

loaded

Iterate only over those members of the folder in memory.

loader

Return a callable that will load the files on demand.

ls

List just the names of the objects in the folder.

lsgrp

Return a list of the groups as a generator.

metadata

Return a Stoner.folders.metadata.MetadataProxy object.

mindepth

Give the minimum number of levels of group below the current objectFolder.

not_empty

Iterate over the objectFolder that checks whether the loaded metadataObject objects have any data.

not_loaded

Return an array of True/False for whether we've loaded a metadataObject yet.

objects

Return the objects in the folder are stored in a regexpDict.

pattern

Provide support for getting the pattern attribute.

root

Return the real folder root.

setas

Return the proxy for the setas attribute for each object in the folder.

shape

Return a data structure that is characteristic of the objectFolder's shape.

size

Return the size of an individual image or False if not all images are the same size.

trunkdepth

Return the number of levels of group before a group with files is found.

type

Return the (sub)class of the Stoner.Core.metadataObject instances.