def file_map(path, instructions, **kw):
if path: return FileMap(path, instructions, **kw)<EOL>else:    return lambda path:file_map(path, instructions, **kw)<EOL>
file_map(path, instructions) yields a file-map object for the given path and instruction-set.
file_map(None, instructions) yields a lambda of exactly one argument that is equivalent to the
  following:  lambda p: file_map(p, instructions)

File-map objects are pimms immutable objects that combine a format-spec for a directory 
(instructions) with a directory to yield a lazily-loaded data object. The format-spec is not
currently documented, but interested users should see the variable
neuropythy.hcp.files.hcp_filemap_instructions.

The following options can be given:
 * path_parameters (default: None) may be set to a map of parameters that are used to format the
   filenames in the instructions.
 * data_hierarchy (default: None) may specify how the data should be nested; see the variable
   neuropythy.hcp.files.hcp_filemap_data_hierarchy.
 * load_function (default: None) may specify the function that is used to load filenames; if
   None then neuropythy.io.load is used.
 * meta_data (default: None) may be passed on to the FileMap object.

Any additional keyword arguments given to the file_map function will be used as supplemental
paths.