Hoffman2:Scripts:dcmheader.py: Difference between revisions
No edit summary |
|||
(11 intermediate revisions by the same user not shown) | |||
Line 6: | Line 6: | ||
To use this script, you need to load python module first and export the library location: | To use this script, you need to load python module first and export the library location: | ||
module load python | module load python | ||
module load ccnscripts | module load ccnscripts | ||
export PYTHONPATH=/u/project/CCN/apps/python_libs/3.6/site-packages/ | export PYTHONPATH=/u/project/CCN/apps/python_libs/3.6/site-packages/ | ||
==Usage/Help== | |||
To see the usage of this script | To see the usage of this script | ||
Line 33: | Line 33: | ||
-v, --verbose Option: show update logs | -v, --verbose Option: show update logs | ||
==Options== | |||
Specify target file or folder to be viewed or updated( | '''Specify target file or folder to be viewed or updated''' | ||
(This option cannot be skipped) | |||
--file (or -f) | --file (or -f) | ||
Print whole header information | '''Print out the whole header information''' | ||
--print (or -p) | --print (or -p) | ||
Show the full header of a dcm file. | Show the full header of a dcm file.This option does not require any argument. However it does not work towards a folder. | ||
Example: | |||
dcmheader.py -f /path/to/my/dicom/file -p (or --print ) | dcmheader.py -f /path/to/my/dicom/file -p (or --print ) | ||
You'll see similar output as following from option "--print" | You'll see similar output as the following from option "--print" | ||
(0010, 0010) Patient's Name PN: '12345' | (0010, 0010) Patient's Name PN: '12345' | ||
(0010, 0020) Patient ID LO: 12345 | (0010, 0020) Patient ID LO: 12345 | ||
(0010, 0030) Patient's Birth Date DA: ' | (0010, 0030) Patient's Birth Date DA: '12345' | ||
(0010, 0040) Patient's Sex CS: 'F' | (0010, 0040) Patient's Sex CS: 'F' | ||
(0010, 1010) Patient's Age AS: '020Y' | (0010, 1010) Patient's Age AS: '020Y' | ||
Line 53: | Line 55: | ||
View specific header items before/after you update them | '''View specific header items before/after you update them''' | ||
--check (or -c) | --check (or -c) | ||
View specific header items in a dcm file or the same items in all files inside the subject folder. | View specific header items in a dcm file or the same items in all files inside the subject folder. | ||
Line 67: | Line 69: | ||
dcmheader.py -f /path/to/my/dicom/subject/ -c "(0010, 0010)" | dcmheader.py -f /path/to/my/dicom/subject/ -c "(0010, 0010)" | ||
View multiple header items in a single file: | View multiple header items in a single file (separate multiple items by space): | ||
dcmheader.py -f /path/to/my/dicom/subject/file -c "(0010, 0010) (0010, 0020)" | dcmheader.py -f /path/to/my/dicom/subject/file -c "(0010, 0010) (0010, 0020)" | ||
Line 73: | Line 75: | ||
dcmheader.py -f /path/to/my/dicom/subject/ -c "(0010, 0010) (0010, 0020)" | dcmheader.py -f /path/to/my/dicom/subject/ -c "(0010, 0010) (0010, 0020)" | ||
Update specific header items | '''Update specific header items''' | ||
--update (or -u) | --update (or -u) | ||
Updating specific header items by specifying the tag and new value in format as "tag=new_value" | Updating specific header items by specifying the tag and new value in format as "tag=new_value" | ||
Line 85: | Line 87: | ||
dcmheader.py -f /path/to/my/dicom/subject/ -u "(0010, 0010)=12345_1" | dcmheader.py -f /path/to/my/dicom/subject/ -u "(0010, 0010)=12345_1" | ||
Update multiple items (separate | Update multiple items (separate multiple items by space) | ||
In this example, change both of the Patient's Name and Patient ID values to 12345_1: | |||
dcmheader.py -f /path/to/my/dicom/subject/file -u "(0010, 0010)=12345_1 (0010, 0020)=12345_1" | dcmheader.py -f /path/to/my/dicom/subject/file -u "(0010, 0010)=12345_1 (0010, 0020)=12345_1" | ||
Line 92: | Line 95: | ||
dcmheader.py -f /path/to/my/dicom/subject/ -u "(0010, 0010)=12345_1 (0010, 0020)=12345_1" | dcmheader.py -f /path/to/my/dicom/subject/ -u "(0010, 0010)=12345_1 (0010, 0020)=12345_1" | ||
Show more logs of update process | '''Show more logs of update process''' | ||
--verbose (or -v) | --verbose (or -v) | ||
Latest revision as of 17:39, 7 October 2021
Purpose
To view and edit a Dicom file header information or header of Dicom files under the same subject folder
Setup Environment
To use this script, you need to load python module first and export the library location:
module load python module load ccnscripts export PYTHONPATH=/u/project/CCN/apps/python_libs/3.6/site-packages/
Usage/Help
To see the usage of this script
dcmheader.py --help
or
dcmheader.py -h
Output:
usage: dcmheader.py [-h] -f FILE [-p] [-c CHECK] [-u UPDATE] [-v] optional arguments: -h, --help show this help message and exit -f FILE, --file FILE name of the dcm file -p, --print Option: print full dcm header -c CHECK, --check CHECK Option: check specific dcm header item. Ex. (0010, 0010) -u UPDATE, --update UPDATE Option: update header items. Ex. (0010, 0010)=Joe Bruin -v, --verbose Option: show update logs
Options
Specify target file or folder to be viewed or updated (This option cannot be skipped)
--file (or -f)
Print out the whole header information
--print (or -p)
Show the full header of a dcm file.This option does not require any argument. However it does not work towards a folder.
Example:
dcmheader.py -f /path/to/my/dicom/file -p (or --print )
You'll see similar output as the following from option "--print"
(0010, 0010) Patient's Name PN: '12345' (0010, 0020) Patient ID LO: 12345 (0010, 0030) Patient's Birth Date DA: '12345' (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 before/after you update them
--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:
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:
dcmheader.py -f /path/to/my/dicom/subject/ -c "(0010, 0010)"
View multiple header items in a single file (separate multiple items by space):
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:
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):
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
dcmheader.py -f /path/to/my/dicom/subject/ -u "(0010, 0010)=12345_1"
Update multiple items (separate multiple items by space)
In this example, change both of the Patient's Name and Patient ID values to 12345_1:
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:
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:
dcmheader.py -f /path/to/my/dicom/subject/file -u "(0010, 0010)=12345_1" -v