dicom.patient.anonymiser {espadon}R Documentation

Anonymisation of a patient's DICOM files

Description

the dicom.patient.anonymiser function anonymises all DICOM files in a patient's directory.

Usage

dicom.patient.anonymiser(
  dcm.files,
  pat.dest.dir,
  offset = 0,
  new.PIN = "Anonymous patient",
  reset.private.tag = FALSE,
  tag.dictionary = dicom.tag.dictionary(),
  verbose = TRUE
)

Arguments

dcm.files

String vector, representing the list of the full names of the DICOM files of the same patient, or its directories.

pat.dest.dir

Character string,representing the full name of the patient's directory, which will contain the patient's anonymized files.

offset

Integer, default to 0. Each date of the DICOM will be shifted by this offset expressed in days.

new.PIN

Character string, representing the PIN remplacing the old one.

reset.private.tag

Boolean, if TRUE, the value of tags that are not in the tag.dictionary is removed.

tag.dictionary

Dataframe, by default equal to dicom.tag.dictionary, whose structure it must keep. This dataframe is used to parse DICOM files.

verbose

Boolean. If TRUE, a progress bar indicates loading progress.

Value

Creation of the pat.dest.dir directory, with anonymous DICOM files

Note

The files are anonymized as follows:

File names are composed of their modality and the SOP UID.

Examples

# First, save toy.dicom.raw () raw data to a temporary file pat.dir for testing.
temp <- tempdir()
pat.dir <- file.path (temp, "toy_dcm") 
dir.create (pat.dir, recursive = TRUE) 
dcm.filename <- tempfile (pattern = "toyrtplan", tmpdir = pat.dir,
                          fileext = ".dcm")
zz <- file (dcm.filename, "wb")
writeBin (toy.dicom.raw (), zz, size = 1)
close (zz)

# Files anonymisation
anonymous.pat.dir <- file.path (temp, "anonymous") 
dicom.patient.anonymiser (dcm.files = pat.dir, pat.dest.dir = anonymous.pat.dir,
                          offset = 0, new.PIN = "Anonymous patient",
                          reset.private.tag = TRUE)
lf <- list.files(anonymous.pat.dir, full.names = TRUE)  
dp <- dicom.parser(lf[1])   
dp[grep("^[(]0008|^[(]0010", dp$TAG),]                   

[Package espadon version 1.7.0 Index]