Чтение и анализ многих файлов DICOM параллельно с использованием dyplr и oro.dicom

У меня есть датафрейм, содержащий 1065 наблюдений путей к файлам DICOM. Я хочу прочитать каждый из файлов, чтобы иметь возможность анализировать определенные значения из метаданных. Поскольку файлов много, я хочу читать их параллельно. Кажется, у меня есть все компоненты (см. Ниже), но я не могу связать их все в единый конвейер.

Чтобы прочитать отдельный файл DICOM, возьмите его заголовки (prop->value) и извлеките определенное значение (используя oro.dicom упаковка):

x <- readDICOMFile(path)
x$hdr$value[52]

Чтобы импортировать все заголовки:

parseDICOMHeadersAt <- function(path) { readDICOMFile(path)$hdr$value }
headers <- mclapply(rawdata$path, parseDICOMHeadersAt)

Но я не могу добиться прогресса в том, чтобы собрать все воедино (ниже не работает):

rawdata <- read_csv(DATASET_FILE_FULL) %>%
    select(PATH) %>%
    rename(path = PATH)

headers <- mclapply(rawdata$path, parseDICOMHeadersAt)
headers_tib <- tibble(headers)
...

Я хотел бы иметь возможность сделать что-то вроде:

   rawdata <- read_csv(DATASET_FILE_FULL) %>%
       select(PATH) %>%
       rename(path = PATH) %>%
       mutate(headers = ...,
              sex = map(headers[52]),
              age = map(headers[53]))

0 ответов

Другие вопросы по тегам