src.imagedata.archives package
Submodules
src.imagedata.archives.abstractarchive module
Abstract class for archives.
Defines generic functions.
- class src.imagedata.archives.abstractarchive.AbstractArchive(name, description, authors, version, url, _mimetypes)[source]
Bases:
object
Abstract base class definition for imagedata archive plugins. Plugins must be a subclass of AbstractPlugin and must define the attributes set in __init__() and the following methods:
__init__() method use_query() method getnames() method basename() method open() method getmembers() method to_localfile() method add_localfile() method writedata() method is_file() method
- abstract add_localfile(local_file, filename)[source]
Add a local file to the archive.
- Parameters:
local_file – named local file
filename – filename in the archive
- property authors
Plugin authors
Multi-line string naming the author(s) of the plugin.
- abstract basename(filehandle)[source]
Basename of file.
Examples
if archive.basename(filehandle) == “DICOMDIR”:
- Parameters:
filehandle – reference to member object
- Returns:
str
- Return type:
Basename of file
- property description
Plugin description
Single line string describing the image format.
- abstract getmembers(files=None)[source]
Get the members of the archive.
- Parameters:
files – List of filename matches.
- Returns:
- The members of the archive as a list of Filehandles.
The list has the same order as the members of the archive.
- abstract getnames(files=None)[source]
Get name list of the members.
- Parameters:
files – List or single str of filename matches.
- Returns:
- The members as a list of their names.
It has the same order as the members of the archive.
- abstract is_file(member)[source]
Determine whether the named file is a single file.
- Parameters:
member – file member.
- Returns:
whether member is a single file (bool)
- property mimetypes
MIME types supported by this plugin.
List of strings.
- property name
Plugin name
Single word string describing the image format. Typical names: dicom, nifti, itk.
- abstract open(member, mode='rb')[source]
Open file.
- Parameters:
member – Handle to file.
mode – Open mode.
- Returns:
An IO object for the member.
- plugin_type = 'archive'
- abstract to_localfile(member)[source]
Access a member object through a local file.
- Parameters:
member – handle to member file.
- Returns:
filename to file guaranteed to be local.
- property transport
Underlying transport plugin
- property url
Plugin URL
URL string to the site of the plugin or the author(s).
- property version
Plugin version
String giving the plugin version. Version scheme: 1.0.0
src.imagedata.archives.filesystemarchive module
Read/Write local files
- class src.imagedata.archives.filesystemarchive.FilesystemArchive(transport=None, url=None, mode='r', read_directory_only=True, opts=None)[source]
Bases:
AbstractArchive
,ABC
Read/write local files.
- Parameters:
transport – a Transport instance
url (str) – URL to filesystem
mode (str) – filesystem access mode
read_directory_only (bool) – Whether url should refer to a directory.
opts (dict) – Options
- Returns:
FilesystemArchive instance
- add_localfile(local_file, filename)[source]
Add a local file to the archive.
- Parameters:
local_file – named local file
filename – filename in the archive
- Raises:
imagedata.archives.FileAlreadyExistsError – When file already exists.
- authors = 'Erling Andersen'
- basename(filehandle)[source]
Basename of file.
Examples
if archive.basename(filehandle) == “DICOMDIR”:
- Parameters:
filehandle – reference to member object
- Returns:
str
- Return type:
Basename of file
- description = 'Read and write local files.'
- getmembers(files=None)[source]
Get the members of the archive.
- Parameters:
files – List of filename matches
- Returns:
- The members of the archive as a list of member objects.
The list has the same order as the members in the archive.
- Raises:
FileNotFoundError – When no matching file is found.
- getnames(files=None)[source]
Get name list of the members.
- Parameters:
files – List or single str of filename matches.
- Returns:
- The members as a list of their names.
It has the same order as the members of the archive.
- Raises:
FileNotFoundError – when no matching file is found.
- is_file(member)[source]
Determine whether the named file is a single file.
- Parameters:
member – file member
- Returns:
whether named file is a single file (bool)
- mimetypes = ['*']
- name = 'filesystem'
- open(member, mode='rb')[source]
Open file.
- Parameters:
member – Handle to file
mode – Open mode
- Returns:
An IO object for the member
- to_localfile(member)[source]
Access a member object through a local file.
- Parameters:
member – handle to member file.
- Returns:
filename to file guaranteed to be local.
- property transport
Underlying transport plugin
- url = 'www.helse-bergen.no'
- version = '1.1.0'
- writedata(filename, data)[source]
Write data to a named file in the archive.
- Parameters:
filename – named file in the archive
data – data to write
- Raises:
ReadOnlyError – when the archive is read-only.
WriteOnFile – when attempting to write a file to a file.
src.imagedata.archives.zipfilearchive module
Read/Write files from a zipfile
- class src.imagedata.archives.zipfilearchive.WriteFileIO(archive, member, local_file)[source]
Bases:
FileIO
Local object making sure the new file is written to zip archive before closing.
- class src.imagedata.archives.zipfilearchive.ZipfileArchive(transport=None, url=None, mode='r', read_directory_only=False, opts=None)[source]
Bases:
AbstractArchive
,ABC
Read/write image files from a zipfile.
- add_localfile(local_file, filename)[source]
Add a local file to the archive.
- Parameters:
local_file – named local file
filename – filename in the archive
- authors = 'Erling Andersen'
- basename(filehandle)[source]
Basename of file.
Examples
if archive.basename(filehandle) == “DICOMDIR”:
- Parameters:
filehandle – reference to member object
- Returns:
str
- Return type:
Basename of file
- description = 'Read and write image files from a zipfile.'
- getmembers(files=None)[source]
Get the members of the archive.
- Parameters:
files – List of filename matches
- Returns:
- The members of the archive as a list of Filehandles.
The list same order as the members in the archive.
- getnames(files=None)[source]
Get name list of the members.
- Parameters:
files – List or single str of filename matches
- Returns:
- The members as a list of their names.
It has the same order as the members of the archive.
- Raises:
FileNotFoundError – When no matching file is found.
- is_file(member)[source]
Determine whether the named file is a single file.
- Parameters:
member – file member
- Returns:
whether named file is a single file (bool)
- mimetypes = ['application/zip', 'application/x-zip-compressed']
- name = 'zip'
- open(member, mode='rb')[source]
Open file.
Extract the member object to local file space. This is necessary to allow the seek() operation on open files.
- Parameters:
member (imagedata.archives.abstractarchive.Member) – Handle to file.
mode (str) – Open mode.
- Returns:
An IO object for the member.
- Raises:
FileNotFoundError – when file is not found.
PermissionError – When archive is read-only.
- to_localfile(member)[source]
Access a member object through a local file.
- Parameters:
member – handle to member file.
- Returns:
filename to file guaranteed to be local.
- Raises:
FileNotFoundError – when file is not found.
- property transport
Underlying transport plugin
- url = 'www.helse-bergen.no'
- version = '1.1.0'
Module contents
This module provides plugins for various image archive formats.
Standard plugins provides support for filesystem, tar, tar.gz, tar.bz2, gzip, zip.
- src.imagedata.archives.find_mimetype_plugin(mimetype, url, mode='r', opts=None)[source]
Return plugin for given file type.