{ "info": { "author": "FNNDSC", "author_email": "dev@babymri.org", "bugtrack_url": null, "classifiers": [], "description": "pfdicom_tagSub\n==================\n\n.. image:: https://badge.fury.io/py/pfdicom_tagSub.svg\n :target: https://badge.fury.io/py/pfdicom_tagSub\n\n.. image:: https://travis-ci.org/FNNDSC/pfdicom_tagSub.svg?branch=master\n :target: https://travis-ci.org/FNNDSC/pfdicom_tagSub\n\n.. image:: https://img.shields.io/badge/python-3.5%2B-blue.svg\n :target: https://badge.fury.io/py/pfdicom_tagSub\n\n.. contents:: Table of Contents\n\n\nQuick Overview\n--------------\n\n- ``pfdicom_tagSub`` reads/edits/saves DICOM meta information. It can be used to anonymize DICOM header data.\n\nOverview\n--------\n\n``pfdicom_tagSub`` replaces a set of ```` pairs in a DICOM header with values passed in a JSON structure.\n\nThe script accepts an ````, and then from this point an ``os.walk()`` is performed to extract all the subdirs. Each subdir is examined for DICOM files (in the simplest sense by a file extension mapping) are passed to a processing method that reads and replaces specified DICOM tags, saving the result in a corresponding directory and filename in the output tree.\n\nInstallation\n------------\n\nDependencies\n~~~~~~~~~~~~\n\nThe following dependencies are installed on your host system/python3 virtual env (they will also be automatically installed if pulled from pypi):\n\n- ``pfmisc`` (various misc modules and classes for the pf* family of objects)\n- ``pftree`` (create a dictionary representation of a filesystem hierarchy)\n- ``pfdicom`` (handle underlying DICOM file reading)\n\nUsing ``PyPI``\n~~~~~~~~~~~~~~\n\nThe best method of installing this script and all of its dependencies is\nby fetching it from PyPI\n\n.. code:: bash\n\n pip3 install pfdicom_tagSub\n\nCommand line arguments\n----------------------\n\n.. code:: html\n\n\n -I|--inputDir \n Input DICOM directory to examine. By default, the first file in this\n directory is examined for its tag information. There is an implicit\n assumption that each contains a single DICOM series.\n\n -i|--inputFile \n An optional specified relative to the . If \n specified, then do not perform a directory walk, but convert only \n this file.\n\n -e|--extension \n An optional extension to filter the DICOM files of interest from the \n .\n\n [-O|--outputDir ]\n The output root directory that will contain a tree structure identical\n to the input directory, and each \"leaf\" node will contain the analysis\n results.\n\n -F|--tagFile \n Parse the tags and their \"subs\" from a JSON formatted .\n\n -T|--tagStruct \n Parse the tags and their \"subs\" from a JSON formatted \n passed directly in the command line.\n\n -o|--outputFileStem \n The output file stem to store data. This should *not* have a file\n extension, or rather, any \".\" in the name are considered part of \n the stem and are *not* considered extensions.\n\n [--outputLeafDir ]\n If specified, will apply the to the output\n directories containing data. This is useful to blanket describe\n final output directories with some descriptive text, such as \n 'anon' or 'preview'. \n\n This is a formatting spec, so \n\n --outputLeafDir 'preview-%s'\n\n where %s is the original leaf directory node, will prefix each\n final directory containing output with the text 'preview-' which\n can be useful in describing some features of the output set.\n\n [--threads ]\n If specified, break the innermost analysis loop into \n threads.\n\n [-x|--man]\n Show full help.\n\n [-y|--synopsis]\n Show brief help.\n\n [--json]\n If specified, output a JSON dump of final return.\n\n [--followLinks]\n If specified, follow symbolic links.\n\n -v|--verbosity \n Set the app verbosity level. \n\n 0: No internal output;\n 1: Run start / stop output notification;\n 2: As with level '1' but with simpleProgress bar in 'pftree';\n 3: As with level '2' but with list of input dirs/files in 'pftree';\n 5: As with level '3' but with explicit file logging for\n - read\n - analyze\n - write\n \nExamples\n--------\n\nPerform a DICOM anonymization by processing specific tags:\n\n.. code:: bash\n\n pfdicom_tagSub \\\\\n -I /var/www/html/normsmall -e dcm \\\\\n -O /var/www/html/anon \\\\\n --tagStruct '\n {\n \"PatientName\": \"anonymized\",\n \"PatientID\": \"%_md5|7_PatientID\",\n \"AccessionNumber\": \"%_md5|10_AccessionNumber\",\n \"PatientBirthDate\": \"%_strmsk|******01_PatientBirthDate\",\n \"ReferringPhysicianName\": \"ReferringPhysicianName\",\n \"PhysiciansOfRecord\": \"PhysiciansOfRecord\",\n \"RequestingPhysician\": \"RequestingPhysician\",\n \"InstitutionAddress\": \"InstitutionAddress\",\n \"InstitutionName\": \"InstitutionName\"\n }\n ' --threads 0 --printElapsedTime\n\nwhich will output only at script conclusion and will log a JSON formatted string.", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/FNNDSC/pfdicom_tagSub", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "pfdicom-tagSub", "package_url": "https://pypi.org/project/pfdicom-tagSub/", "platform": "", "project_url": "https://pypi.org/project/pfdicom-tagSub/", "project_urls": { "Homepage": "https://github.com/FNNDSC/pfdicom_tagSub" }, "release_url": "https://pypi.org/project/pfdicom-tagSub/1.4.20/", "requires_dist": null, "requires_python": "", "summary": "Process DICOM tags and performs substitutions -- part of the pf* family.", "version": "1.4.20" }, "last_serial": 4625988, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "e7f7c92ad3cad7f8fc117e851a677ca2", "sha256": "af07d70f1c14aea140d07e385e7e72673754e9f04cd778df8650c87e8304ec9c" }, "downloads": -1, "filename": "pfdicom_tagSub-1.0.0.tar.gz", "has_sig": false, "md5_digest": "e7f7c92ad3cad7f8fc117e851a677ca2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7322, "upload_time": "2018-07-17T02:38:20", "url": "https://files.pythonhosted.org/packages/2c/e6/98b77998e97f72c48457942a8bae240af47744d44a8c89d6d2e4e4fe17b3/pfdicom_tagSub-1.0.0.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "c1d3f798c1cd8f162c2ce25a60a7238c", "sha256": "730241e08b1fa50eb6c11dec40cb2f9d27cf45c1c8a00a78db04c55c1a3846fc" }, "downloads": -1, "filename": "pfdicom_tagSub-1.2.0.tar.gz", "has_sig": false, "md5_digest": "c1d3f798c1cd8f162c2ce25a60a7238c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14965, "upload_time": "2018-07-19T22:46:30", "url": "https://files.pythonhosted.org/packages/3f/40/4db30207912a0994e44fe2c4a3298f596ecdc2340e52e296ae6bdc0cd31f/pfdicom_tagSub-1.2.0.tar.gz" } ], "1.2.10": [ { "comment_text": "", "digests": { "md5": "19bbe053f4734b89bed831aace1e97bd", "sha256": "6d0921cb841fa82e006e817de127bb1941549690331012b82db47bc34a097cce" }, "downloads": -1, "filename": "pfdicom_tagSub-1.2.10.tar.gz", "has_sig": false, "md5_digest": "19bbe053f4734b89bed831aace1e97bd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16822, "upload_time": "2018-07-23T23:24:02", "url": "https://files.pythonhosted.org/packages/f2/64/5d7dcbb41793ff2dd1f6331c66d2ba1cf035ae738ae50ccf3e2581e5c1d8/pfdicom_tagSub-1.2.10.tar.gz" } ], "1.2.12": [ { "comment_text": "", "digests": { "md5": "b02f2836173d318aaf76647cc438ffd5", "sha256": "9e2f3ca554c601d0f4a1e46c04eedf5e33f8d485ec53b680929ee2534fb35338" }, "downloads": -1, "filename": "pfdicom_tagSub-1.2.12.tar.gz", "has_sig": false, "md5_digest": "b02f2836173d318aaf76647cc438ffd5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7617, "upload_time": "2018-07-25T20:06:48", "url": "https://files.pythonhosted.org/packages/a9/5d/1d80ee0ddfb5c848334c5ab140b61449290fff2058701aa2867725ccc88f/pfdicom_tagSub-1.2.12.tar.gz" } ], "1.2.14": [ { "comment_text": "", "digests": { "md5": "7cbfa307a9d1b352aa7e8ce8835cf60b", "sha256": "c9697e7197feb54eed58ab49cf3e167cc02fc27174f616bf0a12908eca960b21" }, "downloads": -1, "filename": "pfdicom_tagSub-1.2.14.tar.gz", "has_sig": false, "md5_digest": "7cbfa307a9d1b352aa7e8ce8835cf60b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7605, "upload_time": "2018-07-25T20:11:20", "url": "https://files.pythonhosted.org/packages/69/a7/148fdb51150acc894eca1ce513026010ac74a2f09359f71bb37b0c957a1b/pfdicom_tagSub-1.2.14.tar.gz" } ], "1.2.2": [ { "comment_text": "", "digests": { "md5": "3ea9d1ed040e30e3794d39d199e36c4d", "sha256": "51b13c024958e36434c00d8552280cd0e1422723de7d8b2d8c6de9bca592083e" }, "downloads": -1, "filename": "pfdicom_tagSub-1.2.2.tar.gz", "has_sig": false, "md5_digest": "3ea9d1ed040e30e3794d39d199e36c4d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16409, "upload_time": "2018-07-23T03:46:46", "url": "https://files.pythonhosted.org/packages/1e/59/1984e43041c50e1b9b94bfd34bc2624ba97cc8c1e057ecf107ee8f0d1fdd/pfdicom_tagSub-1.2.2.tar.gz" } ], "1.2.4": [ { "comment_text": "", "digests": { "md5": "bd27ba410a75aeafb4a4c6b9f9523457", "sha256": "40def88e5a3a04f4e8cab04364dafabd1422b844432b2ca2cda9a3d468949c8d" }, "downloads": -1, "filename": "pfdicom_tagSub-1.2.4.tar.gz", "has_sig": false, "md5_digest": "bd27ba410a75aeafb4a4c6b9f9523457", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15816, "upload_time": "2018-07-23T20:57:29", "url": "https://files.pythonhosted.org/packages/c7/cd/8d1d3ea732f8bff9ba955fb1d4d49ff0762ebeb7871327cd768bbac2b58d/pfdicom_tagSub-1.2.4.tar.gz" } ], "1.2.8": [ { "comment_text": "", "digests": { "md5": "8049a7dfcaed25cdd6ce062bcad954f3", "sha256": "dbe45ed8a26ace7f33626ab4bf0b240a8fba476723372a6c7cf8f39695273d7a" }, "downloads": -1, "filename": "pfdicom_tagSub-1.2.8.tar.gz", "has_sig": false, "md5_digest": "8049a7dfcaed25cdd6ce062bcad954f3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16080, "upload_time": "2018-07-23T21:36:58", "url": "https://files.pythonhosted.org/packages/ea/16/50895c3980c6b0bb5c64662d8e2e220ff64797ef25d961963ffdf9f374b3/pfdicom_tagSub-1.2.8.tar.gz" } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "3b618dac7d3b0fd09901acaa0c176cc7", "sha256": "d52fe0d9ad651c9f05d067e8b6a17b0493a814e959b2c683c872137db08ef1f6" }, "downloads": -1, "filename": "pfdicom_tagSub-1.4.0.tar.gz", "has_sig": false, "md5_digest": "3b618dac7d3b0fd09901acaa0c176cc7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7962, "upload_time": "2018-07-27T18:48:38", "url": "https://files.pythonhosted.org/packages/35/40/a71c8ececceec4b1b1d20ef9a04449b0c230ec7ef21ffff85ffd94d538dd/pfdicom_tagSub-1.4.0.tar.gz" } ], "1.4.10": [ { "comment_text": "", "digests": { "md5": "0b2ae55861c89d9604e0e5aa87025190", "sha256": "3c84eaad34b9c6be73a46fbbe781eea6909f9d99887c846c2850172da2f51702" }, "downloads": -1, "filename": "pfdicom_tagSub-1.4.10.tar.gz", "has_sig": false, "md5_digest": "0b2ae55861c89d9604e0e5aa87025190", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15537, "upload_time": "2018-08-03T20:57:35", "url": "https://files.pythonhosted.org/packages/c0/25/c1aada187d9fd1c6975c6e99ed34cea1a148e5b5ce0aa57943a9f1df0ca1/pfdicom_tagSub-1.4.10.tar.gz" } ], "1.4.12": [ { "comment_text": "", "digests": { "md5": "ecfb6c6a0a4f4c9d7c482162f1c8c4d4", "sha256": "9f34af1c1b460c4463a312d7aa38336b7b5be26a8ca52e30313740991774c78f" }, "downloads": -1, "filename": "pfdicom_tagSub-1.4.12.tar.gz", "has_sig": false, "md5_digest": "ecfb6c6a0a4f4c9d7c482162f1c8c4d4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15559, "upload_time": "2018-12-04T19:38:53", "url": "https://files.pythonhosted.org/packages/e1/39/80bad0cf68897f58b314895232b9bf7c58e91ed67d4dc720b59a977c9801/pfdicom_tagSub-1.4.12.tar.gz" } ], "1.4.14": [ { "comment_text": "", "digests": { "md5": "88262d9d1de2fd5bce102a061c43e1aa", "sha256": "3d981e8f7e1b95c6e589236fd8ffaf965eb447ba6a36ade31e215b3148ba3ad2" }, "downloads": -1, "filename": "pfdicom_tagSub-1.4.14.tar.gz", "has_sig": false, "md5_digest": "88262d9d1de2fd5bce102a061c43e1aa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15500, "upload_time": "2018-12-04T19:48:25", "url": "https://files.pythonhosted.org/packages/a4/a3/075693e3be11cc9b08a75e05a3255691d333bd95357e1dff5f6d74f280e5/pfdicom_tagSub-1.4.14.tar.gz" } ], "1.4.16": [ { "comment_text": "", "digests": { "md5": "5c26154214b34a4572302d24603afa81", "sha256": "b025b0f6a3eb2bfa418ca3008b16358a1dc251c34abdf250d0a2c9aae62d45ed" }, "downloads": -1, "filename": "pfdicom_tagSub-1.4.16.tar.gz", "has_sig": false, "md5_digest": "5c26154214b34a4572302d24603afa81", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8370, "upload_time": "2018-12-21T17:31:11", "url": "https://files.pythonhosted.org/packages/e1/7c/4c13b0b4d2d4652a1ed3f102dcd18a41bb0d44d12be3ff3128bfcc67550e/pfdicom_tagSub-1.4.16.tar.gz" } ], "1.4.18": [ { "comment_text": "", "digests": { "md5": "690cbda4fd5b8ac1ecb1e86bdc636850", "sha256": "2e1feb8dbec47974fade95d79e3ee4a94de79e4f9cd59f1d9e405e10dc9dc436" }, "downloads": -1, "filename": "pfdicom_tagSub-1.4.18.tar.gz", "has_sig": false, "md5_digest": "690cbda4fd5b8ac1ecb1e86bdc636850", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8401, "upload_time": "2018-12-21T17:53:30", "url": "https://files.pythonhosted.org/packages/3c/77/7c1906cf1f965a94b61ae5641792a5fce97f3c380fefab751b7df29cdfb1/pfdicom_tagSub-1.4.18.tar.gz" } ], "1.4.2": [ { "comment_text": "", "digests": { "md5": "27122fcc5d726ab22e319a04e737d100", "sha256": "bffa6c96824df1bba0dca09a7ed8bdf78c419e27077412b0cec064e2a2aebb6d" }, "downloads": -1, "filename": "pfdicom_tagSub-1.4.2.tar.gz", "has_sig": false, "md5_digest": "27122fcc5d726ab22e319a04e737d100", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7974, "upload_time": "2018-07-30T18:10:34", "url": "https://files.pythonhosted.org/packages/22/25/1568c9292ca8d6e093bacd62ae4c91ee7fd32d905c4722d775b1e8c58d55/pfdicom_tagSub-1.4.2.tar.gz" } ], "1.4.20": [ { "comment_text": "", "digests": { "md5": "2578546d23025d96bf78e00e8793a25d", "sha256": "75935ce241f9f7627a66e88f6700075e43d1f083980866919e7dc3740b2d31c0" }, "downloads": -1, "filename": "pfdicom_tagSub-1.4.20.tar.gz", "has_sig": false, "md5_digest": "2578546d23025d96bf78e00e8793a25d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8401, "upload_time": "2018-12-21T18:16:38", "url": "https://files.pythonhosted.org/packages/ea/62/32d5e66cda3438a057192b05e2d74a8c1043cbb08532664d9d2ab1846941/pfdicom_tagSub-1.4.20.tar.gz" } ], "1.4.4": [ { "comment_text": "", "digests": { "md5": "3f3ae44e3b6314c7ca59ca6db623c880", "sha256": "fe1f694c2221f0441f633a6280c817a5a7311052ff2237157c0ea49f07a29400" }, "downloads": -1, "filename": "pfdicom_tagSub-1.4.4.tar.gz", "has_sig": false, "md5_digest": "3f3ae44e3b6314c7ca59ca6db623c880", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7989, "upload_time": "2018-08-01T19:10:26", "url": "https://files.pythonhosted.org/packages/94/7f/bb4dc73214c534bf6e99c17ac1c8a57957fc6be783224bc9ade1ab3460f2/pfdicom_tagSub-1.4.4.tar.gz" } ], "1.4.6": [ { "comment_text": "", "digests": { "md5": "e3409b6f24637d3e93bc50f73bd779df", "sha256": "63446955093a522c7fbcdcf4242c2fc1c952b416cd0c3c1ebaa29b2f6c1b10df" }, "downloads": -1, "filename": "pfdicom_tagSub-1.4.6.tar.gz", "has_sig": false, "md5_digest": "e3409b6f24637d3e93bc50f73bd779df", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8006, "upload_time": "2018-08-02T20:31:28", "url": "https://files.pythonhosted.org/packages/8a/2c/029bd733482e1135637053c0f295fbf59f01d4582a25ddb862541828e9ad/pfdicom_tagSub-1.4.6.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2578546d23025d96bf78e00e8793a25d", "sha256": "75935ce241f9f7627a66e88f6700075e43d1f083980866919e7dc3740b2d31c0" }, "downloads": -1, "filename": "pfdicom_tagSub-1.4.20.tar.gz", "has_sig": false, "md5_digest": "2578546d23025d96bf78e00e8793a25d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8401, "upload_time": "2018-12-21T18:16:38", "url": "https://files.pythonhosted.org/packages/ea/62/32d5e66cda3438a057192b05e2d74a8c1043cbb08532664d9d2ab1846941/pfdicom_tagSub-1.4.20.tar.gz" } ] }