Hoffman2:Scripts:dcmheader.py: Difference between revisions

From Center for Cognitive Neuroscience
Jump to navigation Jump to search
Line 16: Line 16:
Print whole header information
Print whole header information
  --print (or -p)
  --print (or -p)
This option shows the full header of a dcm file, no argument is needed. However this option can take only a single Dicom file as argument.
This option shows the full header of a dcm file, no argument is needed. However this option can take only one single Dicom file as the argument.
python3 /u/project/CCN/apps/scripts/dcmheader.py -f /path/to/my/dicom/file -p (or --print )
python3 /u/project/CCN/apps/scripts/dcmheader.py -f /path/to/my/dicom/file -p (or --print )
   
   

Revision as of 22:48, 27 April 2020

Purpose:

To view and edit a Dicom file header information or header of Dicom files under the same subject folder

Usage:

To use this script, you need to load python module first and export the library location:

module load python/3.6.1_shared
PYTHONPATH=/u/project/CCN/apps/python_libs/3.6/site-packages/

To see the usage of this script

python3 /u/project/CCN/apps/scripts/dcmheader.py -h

Options:

Print whole header information

--print (or -p)

This option shows the full header of a dcm file, no argument is needed. However this option can take only one single Dicom file as the argument. python3 /u/project/CCN/apps/scripts/dcmheader.py -f /path/to/my/dicom/file -p (or --print )

Example of a part of the output from option --print

(0010, 0010) Patient's Name                      PN: '12345'
(0010, 0020) Patient ID                          LO: 12345
(0010, 0030) Patient's Birth Date                DA: '20000101'
(0010, 0040) Patient's Sex                       CS: 'F'
(0010, 1010) Patient's Age                       AS: '020Y'

(0010, 0010) is the tag for item “Patient's Name”, you'll need this information for using -c (--check) and -u (--update) options.


View specific header items

--check (or -c)

View specific header items in a dcm file or the same items in all files inside the subject folder. You will need to specify the header tag as the argument in format as "(code1, code2)", however the parentheses are not required. Be aware that double quotation "" is needed. Multiple tags can be specified as the following example

Example:

View a single header item:

python3 /u/project/CCN/apps/scripts/dcmheader.py -f /path/to/my/dicom/subject/file -c "(0010, 0010)"

View a single header item in all files under a subject folder by specifying the folder instead of a file:

python3 /u/project/CCN/apps/scripts/dcmheader.py -f /path/to/my/dicom/subject/ -c "(0010, 0010)"

View multiple header items in a single file:

python3 /u/project/CCN/apps/scripts/dcmheader.py -f /path/to/my/dicom/subject/file -c  "(0010, 0010) (0010, 0020)"

View multiple header items in all files under one subject folder:

python3 /u/project/CCN/apps/scripts/dcmheader.py -f /path/to/my/dicom/subject/ -c  "(0010, 0010) (0010, 0020)"

Update specific header items

--update (or -u)

Updating specific header items by specifying the tag and new value in format as "tag=new_value"

Example:

Update a single item (in this example, change the Patient's Name value to 12345_1):

python3 /u/project/CCN/apps/scripts/dcmheader.py -f /path/to/my/dicom/subject/file -u "(0010, 0010)=12345_1"

Update the same item for each file under the same subject folder

python3 /u/project/CCN/apps/scripts/dcmheader.py -f /path/to/my/dicom/subject/ -u "(0010, 0010)=12345_1"

Update multiple items (separate the multiple items by space) (in this example, change both of the Patient's Name and Patient ID values to 12345_1): python3 /u/project/CCN/apps/scripts/dcmheader.py -f /path/to/my/dicom/subject/file -u "(0010, 0010)=12345_1 (0010, 0020)=12345_1"

Update multiple items for the whole subject folder: python3 /u/project/CCN/apps/scripts/dcmheader.py -f /path/to/my/dicom/subject/ -u "(0010, 0010)=12345_1 (0010, 0020)=12345_1"

Show more logs of update process

--verbose (or -v)

Use this only with --update option --update option will only output the converted file names after each update. However with -v option, it can shows the updated result of each updated item.

Example:

python3 /u/project/CCN/apps/scripts/dcmheader.py -f /path/to/my/dicom/subject/file -u "(0010, 0010)=12345_1" -v