Switch to unified view

a b/RadETL/R/modality_Occurrence_Table.R
1
#' 'modality'
2
#'
3
#' modality function indicates modality of each shoot
4
#'
5
#'
6
#' @param DICOMList you can put it like this and then run the function : DICOMList<-DICOMHeaderList(DICOMFolderPath)
7
#' @import dplyr
8
#' @importFrom magrittr "%>%"
9
#'
10
#'
11
#' @return A dataframe indicating modality of each shoot
12
#' @examples
13
#' DICOMList<-DICOMHeaderList(DICOMFolderPath)
14
#' modality(DICOMList)
15
#' @export
16
17
#modality
18
modality<-function(DICOMList){
19
    modality<-lapply(DICOMList, function(x){
20
        modality<-as.character(x[[1]] %>% filter(name=='Modality') %>% select(value))
21
        if(modality=="CR" | modality=="DX"){
22
            modality='XR'
23
        }
24
        else if(modality=="character(0)" | modality=="" | modality=="integer(0)"){
25
            modality='NA'
26
        }
27
        return(modality)})
28
    modality<-as.data.frame(do.call(rbind, modality))
29
    colnames(modality)<-'modality'
30
    modality<-cbind(modality, radiologyOccurrenceId(DICOMList))
31
    modality<-as.data.frame(modality %>% group_by(radiologyOccurrenceId) %>% distinct(modality))
32
    modality<-split(modality, modality$radiologyOccurrenceId)
33
    modality<-sapply(modality, function(x){
34
        paste0(x$modality, collapse=', ')})
35
    modality<-data.frame(radiologyOccurrenceId=names(modality), modality=modality, row.names = NULL)
36
    return(modality)
37
}