Skip to main content

UNKNOWN

Project description

h1. pfile-tools: GE P-File Utilities

This package provides a library refrence to GE's proprietary P-file format for their MR scanners. This is not a translation of their copyrighted header files, but a re-implementation. It's designed to let you catalog and anonymize your raw data, and hopefully provide enough information to run your own reconstruction.

In addition to the library, pfile-tools provides small scripts to display pfile header values and do an anomymization.

h2. Status

Header support is limited to stuff we've needed in-house or stuff that's really obvious. If you need something added, let me know.

Also, we currently only support reading revision 20 of the files. I suspect that it'll also effectively work on other revisions (particularly 22), but I don't know for sure which. Let me know!

h2. Installation

For now, it's:

<pre>
$ git clone https://github.com/njvack/pfile-tools.git
$ cd pfile-tools
$ python setup.py install
</pre>

Installation via easy_install and pip is coming.

h2. API Usage

<pre>
>>> from pfile_tools import headers
>>> pfile = headers.Pfile.from_file('/path/to/PXXXX.7')
>>> print(pfile.revision)
20
>>> print(pfile.header.exam_number)
5313
>>> print(pfile.header.exam_datetime)
datetime(2012, 3, 6, 10, 47, 42)
</pre>

Pfile.header is a Python "ctypes Structure":http://docs.python.org/library/ctypes.html#ctypes.Structure.

h2. dump_pfile_header

Does what it says on the tin -- dumps a p-file's header to standard out, in a delimited (by default, tab-delimited) format.

<pre>
Usage: dump_pfile_header [OPTIONS] pfile

Dumps header information from a GE P-file

Options:
-h, --help show this help message and exit
-r REVISION, --revision=REVISION
Force a header revision (available: 20)
--offsets Show offsets to data elements
--sizes Show data element sizes
--show-padding Print unknown 'padding' elements
--separator=SEPARATOR
Output field separator (default: \t)
</pre>

h2. anonymize_pfile

Strips personally-identifying information from a p-file.

<pre>
Usage: anonymize_pfile.py [OPTIONS] pfile pfile_out

Removes personally-identifying information from a GE P-file

Options:
-h, --help show this help message and exit
-r REVISION, --revision=REVISION
Force a header revision (available: 20)
--inplace Edit file in-place. Ignores pfile_out.
-v, --verbose Print lots of extra debugging.

Anonymization options:
--name=yes/no Set patient name to 'ANONYMIZED' (yes)
--id=yes/no Set patient ID to 'ANONYMIZED' (yes)
--dateofbirth=yes/no
Set date of birth to '' (yes)
--age=yes/no Set age to 0 (yes)
--weight=yes/no Set weight to 0 (yes)
--sex=yes/no Set sex to 0 (yes)
</pre>

h2. License

pfile_tools is provided under the short-and-sweet BSD license. See LICENSE.txt for more information.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pfile-tools-0.1.0.tar.gz (7.3 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page