Last Ran: 2021-09-17
DIR=("/Volumes/IGNITE_Imaging/QC_Output/R_IGNITE/Phantom/ADNI/")
setwd(DIR)
ADNI.FILES<-list.files(DIR, ".csv")
df<-NULL
for (i in 1:length(ADNI.FILES)) {
setwd(DIR)
x<- paste("/Volumes/IGNITE_Imaging/QC_Output/R_IGNITE/Phantom/ADNI/", ADNI.FILES[i],sep="")
ADNI <- readr::read_csv(x,
col_types = cols(`ADNI END Time` = col_character()))
ADNI<-ADNI[complete.cases(ADNI$`Scan Date`),]
ADNI<-ADNI[complete.cases(ADNI$`Scan ID`),]
ADNI$`Scan ID`<-str_replace(ADNI$`Scan ID` ,pattern = "__", replacement ="_ADNI_" )
if ("MR Tech" %in% names(ADNI)==TRUE) {
ADNI$Tech<-ADNI$`MR Tech`
ADNI$Tech<-toupper(ADNI$Tech)} else {NULL}
if ("MR Operator" %in% names(ADNI)==TRUE) {
ADNI$Tech<-ADNI$`MR Operator`
ADNI$Tech<-toupper(ADNI$Tech)
}else {NULL}
if ("Scanner ID" %in% names(ADNI)==TRUE) {
ADNI$Scanner<-ADNI$`Scanner ID`
ADNI$Scanner<-toupper(ADNI$Scanner)
}else {ADNI$Scanner<-""}
ADNI_1<-ADNI %>% select(`Scan ID`,`Scan Date` ,Scanner,
`ADNI END Time`,`MPRAGE Norm#`,`MPRAGE #`,`MPRAGE Changed?`,
Tech)
df<-rbind(df, ADNI_1)
}
df<-df[!duplicated(df),]
date<-format(Sys.Date(),"%b%y")
file<-paste(DIR,"IN/","merged_ADNI_Phantom", date,"_base.csv", sep="")
readr::write_csv(df,file )
rm(list=setdiff(ls(), "df"))
BASE_OUT<-df
names(BASE_OUT)<-c("ID","Scan Date","Scanner","ADNI END Time" , "MPRAGE Norm#" , "MPRAGE #" , "MPRAGE Changed?", "Tech" )
DIR=("/Volumes/IGNITE_Imaging/QC_Output/R_IGNITE/Phantom/ADNI/")
setwd(DIR)
ADNI.FILES<-list.files(DIR, pattern=".txt")
ADNI.df<-NULL
for (i in 1:length(ADNI.FILES)) {
setwd(DIR)
x<- paste("/Volumes/IGNITE_Imaging/QC_Output/R_IGNITE/Phantom/ADNI/", ADNI.FILES[i],sep="")
ADNI <- read.delim(x, header=FALSE, stringsAsFactors=FALSE)
ADNI <- ADNI[complete.cases(ADNI$V2),]
ADNI$V1<-if_else(str_starts(ADNI$V1, "02_ADNI"), str_replace(ADNI$V1,"02_ADNI", "02_1_ADNI" ), ADNI$V1)
ADNI$V1<-if_else(str_starts(ADNI$V1, "03_ADNI"), str_replace(ADNI$V1,"03_ADNI", "03_1_ADNI" ), ADNI$V1)
ADNI$V1<-if_else(str_starts(ADNI$V1, "01_ADNI"), str_replace(ADNI$V1,"01_ADNI", "01_0_ADNI" ), ADNI$V1)
temp<-strsplit(ADNI$V1, regex("_"))
mat <- matrix(unlist(temp), ncol=4, byrow=TRUE)
df <- as.data.frame(mat)
ADNI<-cbind(ADNI,df )
names(ADNI)<-c("ID", "SNR", "Site","Scanner", "MODE", "Date")
ADNI$ID<-if_else(str_starts(ADNI$ID, "02_1_ADNI"), str_replace(ADNI$ID,"02_1_ADNI", "02_ADNI" ), as.character(ADNI$ID))
ADNI$ID<-if_else(str_starts(ADNI$ID, "03_1_ADNI"), str_replace(ADNI$ID,"03_1_ADNI", "03_ADNI" ), ADNI$ID)
ADNI$ID<-if_else(str_starts(ADNI$ID, "01_0_ADNI"), str_replace(ADNI$ID,"01_0_ADNI", "01_ADNI" ), ADNI$ID)
ADNI.df<-rbind(ADNI,ADNI.df)
}
ADNI.df<-ADNI.df[!(duplicated(ADNI.df)),]
date<-format(Sys.Date(),"%b%y")
file<-paste(DIR,"IN/","merged_ADNI_Phantom", date,"_data.csv", sep="")
readr::write_csv(ADNI.df,file )
#ADNI.df$`Scan ID`<-str_replace(ADNI.df$`Scan ID`,"ADNIi","ADNI")
TMP<-left_join(ADNI.df, BASE_OUT,by="ID" )
#TMP %>% filter(TMP$Scanner.x==1 & Scanner.y!="MRC67078" & Site!="02" & Site!="03")
#TMP %>% filter(TMP$Scanner.x==3 & Scanner.y!="MRC35073" & Site!="02" & Site!="03")
#TMP %>% filter(TMP$Site==2 & Scanner.y!="AWP45135" & Site!="03" & Site!="01") %>% DT::datatable(rownames = FALSE) #Labeled Scanner 2, but actually Scanner 3
TMP %>% filter(TMP$Scanner.x==2 & Scanner.y!="AWP167046" & Site!="02" & Site!="03") %>% DT::datatable(rownames = FALSE) #Labeled Scanner 2, but actually Scanner 3
#TMP %>% filter(duplicated(ID) & !duplicated(Date))
#TMP %>% filter(duplicated(ID) & !duplicated(Scanner.y))
TMP %>% filter(ID=="01_2_ADNI_20201109") %>% DT::datatable(rownames = FALSE)
Unknown Scanner
TMP %>% filter(TMP$Scanner.x==0)%>% DT::datatable(rownames = FALSE)
data<-list.files("/Volumes/IGNITE_Imaging/QC_Output/R_IGNITE/Phantom/ADNI/IN/", "data.csv")
pos<-length(data)
data<-read.csv(paste("/Volumes/IGNITE_Imaging/QC_Output/R_IGNITE/Phantom/ADNI/IN/",data[pos],sep=""),stringsAsFactors = FALSE)
data$Date<-as.character(data$Date)
base<-list.files("/Volumes/IGNITE_Imaging/QC_Output/R_IGNITE/Phantom/ADNI/IN/", "base.csv")
pos<-length(base)
base<-read.csv(paste("/Volumes/IGNITE_Imaging/QC_Output/R_IGNITE/Phantom/ADNI/IN/",base[pos],sep=""),stringsAsFactors = FALSE)
base<-base[complete.cases(base$Scan.Date),]
base$Scan.Date<-as.character(base$Scan.Date)
base$Date<-as.Date(base$Scan.Date, format="%Y%m%d")
base$Date<-as.character(base$Date)
ADNI<-full_join(data,base)
ADNI<-ADNI[!duplicated(ADNI),]
date<-format(Sys.Date(),"%b%y")
file<-paste("/Volumes/IGNITE_Imaging/QC_Output/R_IGNITE/Phantom/ADNI/OUT/","ADNI_", date,".csv", sep="")
readr::write_csv(ADNI,file)
rm(list=setdiff(ls(), "ADNI"))
data<-list.files("/Volumes/IGNITE_Imaging/QC_Output/R_IGNITE/Phantom/ADNI/OUT/", "ADNI_")
ADNI<-read.csv(paste("/Volumes/IGNITE_Imaging/QC_Output/R_IGNITE/Phantom/ADNI/OUT/", data,sep=""))
ADNI<-ADNI[complete.cases(ADNI$ADNI_SNR),]
# Scanner
ADNI$Scanner<-if_else(ADNI$Site=="KU", "KU Skyra", as.character(ADNI$Scanner))
ADNI$Scanner<-if_else(ADNI$Site=="NEU", "NEU Prisma", as.character(ADNI$Scanner))
ADNI$Scanner<-if_else(ADNI$Scanner==" ", "NAN", as.character(ADNI$Scanner))
# Remove duplicated rows and unsorted 'Scan ID's (some scan IDs don't indicate Prisma 1 or 2)
ADNI<-ADNI[!(ADNI$Scanner=="NAN"),]
ADNI<-ADNI[!duplicated(ADNI),]
ADNI$Scanner<-as.factor(ADNI$Scanner)
### Count duplicated entries for indexing
ADNI<-ADNI %>%
group_by(Date,Scanner,ADNI_SNR) %>%
select(Scan.ID,Scanner,Date,Scan.Date,ADNI.END.Time, ADNI_SNR,MPRAGE.., MPRAGE.Changed., Tech)%>%
add_count()
### Generate index and remove duplicated/errored processing runs
ADNI$index<-if_else(ADNI$n>1 &ADNI$MPRAGE.Changed.==0 | ADNI$n==1, "Keep","" )
ADNI<-ADNI[ADNI$index=="Keep",]
ADNI<-ADNI %>% select(Scan.ID, Scanner,Scan.Date, Date,ADNI.END.Time,ADNI_SNR,MPRAGE..,MPRAGE.Changed.,Tech )
names(ADNI)<-c("Scan.ID","Scanner","Scan.Date","Date", "ADNI.END.Time","ADNI_SNR","N_vol","Parameter_Changed", "Tech")
### Write out .csv of organized data
date<-format(Sys.Date(),"%b%y")
file<-paste("/Volumes/IGNITE_Imaging/QC_Output/R_IGNITE/Phantom/ADNI/OUT/","CLEAN.ADNI", date,".csv", sep="")
readr::write_csv(ADNI,file)
rm(list=setdiff(ls(), "ADNI"))
ADNI$Scan.Date<-as.character(ADNI$Scan.Date)
ADNI$Date<-as.Date(ADNI$Scan.Date, format="%Y%m%d")
ADNI$Month.YR <- format(as.Date(ADNI$Date), "%b/%y")
ADNI<-arrange(ADNI, "Date")
ADNI<-ADNI[!duplicated(ADNI),]
ADNI$Month.YR <-factor(ADNI$Month.YR,
levels=c( "Nov/17" , "Dec/17" ,
"Jan/18" , "Feb/18", "Mar/18" ,
"Apr/18" ,"May/18", "Jun/18" ,"Jul/18" , "Aug/18" ,
"Sep/18", "Oct/18", "Nov/18" ,"Dec/18",
"Jan/19" , "Feb/19", "Mar/19" ,
"Apr/19" ,"May/19", "Jun/19" ,"Jul/19" , "Aug/19" ,
"Sep/19", "Oct/19", "Nov/19" , "Dec/19" ,
"Jan/20" , "Feb/20", "Mar/20" ,
"Apr/20" ,"May/20", "Jun/20" ,"Jul/20" , "Aug/20" ,
"Sep/20", "Oct/20", "Nov/20" , "Dec/20" ,"Jan/21",
"Feb/21", "Mar/21" , "Apr/21", "May/21", "Jun/21"))
#scan frequency by site for each Quarter
scannerXmonth<- as.data.frame(table(Month.YR=ADNI$Month.YR, by=ADNI$Scanner))
names(scannerXmonth)[names(scannerXmonth) == "by"] <- "Scanner"
#reorder the database according to Quarter.time, so that when it comes to data visualization the weekdays will be in the right order##
scannerXmonth$Month<- factor(scannerXmonth$Month, levels=c( "Nov/17" , "Dec/17" ,
"Jan/18" , "Feb/18", "Mar/18" ,
"Apr/18" ,"May/18", "Jun/18" ,"Jul/18" , "Aug/18" ,
"Sep/18", "Oct/18", "Nov/18" ,"Dec/18",
"Jan/19" , "Feb/19", "Mar/19" ,
"Apr/19" ,"May/19", "Jun/19" ,"Jul/19" , "Aug/19" ,
"Sep/19", "Oct/19", "Nov/19" , "Dec/19" ,
"Jan/20" , "Feb/20", "Mar/20" ,
"Apr/20" ,"May/20", "Jun/20" ,"Jul/20" , "Aug/20" ,
"Sep/20", "Oct/20", "Nov/20" , "Dec/20" ,"Jan/21",
"Feb/21", "Mar/21" , "Apr/21", "May/21", "Jun/21"))
Scan_freq<-scannerXmonth[order(scannerXmonth$Month),]
Counts_by_MONTH<-ggplot(data=Scan_freq,
aes(x =Month, y=Freq, fill=Scanner))+
geom_bar(stat = "identity")+
ggtitle(label = "Phantom Frequency by Month")+
theme_minimal()+
theme(plot.title = element_text(hjust = 0.5,
lineheight = 0.8, face = "bold"),
axis.text.x=element_text(angle=35,hjust=1, size=7))+
xlab(" ")+ylab("Scan Freq")
plotly::ggplotly(Counts_by_MONTH)
ADNI.2020.for.plot=ADNI %>%
dplyr::group_by(ADNI$Scanner)%>%
dplyr::mutate(
ADNI.SNR.avg =mean(ADNI_SNR, na.rm = TRUE),
ADNI.SNR.sd=sd(ADNI_SNR),
count = n())
ADNI.SNR.PLOT<-ggplot(ADNI.2020.for.plot, aes(Scanner, ADNI.SNR.avg, fill=Scanner)) +
geom_col(stat="identity", position="dodge") +
geom_text(aes(label=count, y=0))+
geom_errorbar(aes(ymin = ADNI.SNR.avg - ADNI.SNR.sd, ymax = ADNI.SNR.avg + ADNI.SNR.sd), width=0.2)
ADNI.SNR.PLOT
df.plot<-ggplot(ADNI, aes(x = Date, y = ADNI_SNR)) +
geom_point(aes(y = ADNI_SNR, color=Scanner, text = paste("Parameter Changed:",Parameter_Changed)))+ geom_line(aes(y = ADNI_SNR, color=Scanner)) +
ggtitle("ADNI Phantom Quality Parameters Across Time")+ylab("SNR \n \n")+
facet_grid(vars(Scanner), scales = "free")+theme(legend.position="none",
strip.text = element_text(size = 7))
plotly::ggplotly(df.plot)
ADNI<-ADNI %>% group_by(Scanner,Month.YR) %>%add_count(Scanner)
df<-ADNI %>% select(Scanner,Month.YR , ADNI_SNR)
df<-df[!duplicated(df),]
df<-df %>% group_by(Scanner,Month.YR) %>%mutate(
'Monthly_SNR.avg'=mean(ADNI_SNR),
'Monthly_SNR.sd'=sd(ADNI_SNR, na.rm = TRUE))
df.plot
DIR=("/Volumes/IGNITE_Imaging/QC_Output/R_IGNITE/Phantom/BULL/")
setwd(DIR)
BULL.FILES<-list.files(DIR, "_QC_Output")
df<-""
#i=BULL.FILES[4]
for (i in BULL.FILES) {
x<-paste(DIR,i, sep="")
BULL<-read.csv(x, row.names=NULL)
names(BULL)<- c("Scan.ID","Scan.Date","BULL.Start.Time", "Tech" , "REST.Norm.","REST.." , "REST.Changed." )
BULL$Scan.ID<-as.character(BULL$Scan.ID)
BULL$Scan.ID<-toupper(BULL$Scan.ID)
BULL<-BULL[complete.cases(BULL$Scan.ID),]
BULL<-BULL[complete.cases(BULL$Scan.Date),]
BULL$Scan.ID<-str_replace(BULL$Scan.ID ,pattern = "__", replacement ="_BULL_" )
BULL$Site<-if_else(str_detect(BULL$Scan.ID, "01_")==1, "PITT", as.character(BULL$Scan.ID))
BULL$Site<-if_else(str_detect(BULL$Site, "02_")==1, "KU", as.character(BULL$Site))
BULL$Site<-if_else(str_detect(BULL$Site, "03_")==1, "NEU", as.character(BULL$Site))
BULL$Scanner<-if_else(str_detect(BULL$Scan.ID,"01_1")==TRUE, "Prisma 1", as.character(BULL$Scan.ID))
BULL$Scanner<-if_else(str_detect(BULL$Scanner,"01_2")==TRUE, "Prisma 2", BULL$Scanner)
BULL$Scanner<-if_else(str_detect(BULL$Scanner,"01_3")==TRUE, "Prisma 3", BULL$Scanner)
#BULL$Scanner<- if_else(BULL$Scanner=="01", "PITT PRISMA",BULL$Scanner)
BULL$Scanner<- if_else(BULL$Scanner=="02", "KU Skyra",BULL$Scanner)
BULL$Scanner<- if_else(BULL$Scanner=="03", "NEU Prisma",BULL$Scanner)
BULL<-BULL %>% select(Scan.ID,Site, Scanner, Scan.Date,BULL.Start.Time, Tech ,REST.. ,REST.Changed.)
names(BULL)<-c("Scan.ID","Site", "Scanner","Scan.Date","BULL.Start.Time", "Tech" , "N_vol" ,"Parameter_Changed" )
print(i)
df <-rbind(df,BULL)
}
## [1] "IGNITE_BULL_QC_Output (1).csv"
## [1] "IGNITE_BULL_QC_Output_201802_201902.csv"
## [1] "IGNITE_BULL_QC_Output_New (1).csv"
## [1] "IGNITE_BULL_QC_Output_New (2).csv"
## [1] "IGNITE_BULL_QC_Output_New 2.csv"
## [1] "IGNITE_BULL_QC_Output_New 3.csv"
## [1] "IGNITE_BULL_QC_Output_New_test (1).csv"
## [1] "IGNITE_BULL_QC_Output_New_test (2).csv"
## [1] "IGNITE_BULL_QC_Output_New_test.csv"
## [1] "IGNITE_BULL_QC_Output_New.csv"
## [1] "IGNITE_BULL_QC_Output.csv"
df<-df[!duplicated(df),]
### Write out .csv of organized data
date<-format(Sys.Date(),"%b%y")
file<-paste("/Volumes/IGNITE_Imaging/QC_Output/R_IGNITE/Phantom/BULL/IN/","merged_BASE", date,".csv", sep="")
readr::write_csv(df,file)
BULL_base<-df
DIR=("/Volumes/IGNITE_Imaging/QC_Output/R_IGNITE/Phantom/BULL/")
setwd(DIR)
BULL.FILES<-list.files(DIR, "Stability")
df<-""
df<-as.data.frame(df)
#i=BULL.FILES[1]
for (i in BULL.FILES) {
x<-paste(DIR,i, sep="")
BULL<-read.csv(x, row.names=NULL)
print(i)
df <-plyr::rbind.fill(df,BULL)
}
## [1] "IGNITE_BULL_QC_Stability (1).csv"
## [1] "IGNITE_BULL_QC_Stability (2).csv"
## [1] "IGNITE_BULL_QC_Stability 2.csv"
## [1] "IGNITE_BULL_QC_Stability 3.csv"
## [1] "IGNITE_BULL_QC_Stability copy.csv"
## [1] "IGNITE_BULL_QC_Stability.csv"
df<-df[!duplicated(df),]
### Write out .csv of organized data
date<-format(Sys.Date(),"%b%y")
file<-paste("/Volumes/IGNITE_Imaging/QC_Output/R_IGNITE/Phantom/BULL/IN/","merged_stab", date,".csv", sep="")
readr::write_csv(df,file)
stab<-df
BULL_base<-read_csv("/Volumes/IGNITE_Imaging/QC_Output/R_IGNITE/Phantom/BULL/IN/merged_BASEJun21.csv")
stab<-read_csv("/Volumes/IGNITE_Imaging/QC_Output/R_IGNITE/Phantom/BULL/IN/merged_stabJun21.csv")
BULL_DAT<-left_join(BULL_base,stab)
BULL_DAT<-remove_empty_cols(BULL_DAT)
BULL_DAT<-remove_empty_rows(BULL_DAT)
BULL_DAT$Date<-BULL_DAT$Scan.Date
BULL_DAT$Scanner<-if_else(str_detect(BULL_DAT$Scan.ID,"01_1")==TRUE, "Prisma 1", as.character(BULL_DAT$Scan.ID))
BULL_DAT$Scanner<-if_else(str_detect(BULL_DAT$Scanner,"01_2")==TRUE, "Prisma 2", BULL_DAT$Scanner)
BULL_DAT$Scanner<-if_else(str_detect(BULL_DAT$Scanner,"01_3")==TRUE, "Prisma 3", BULL_DAT$Scanner)
BULL_DAT$Scanner<- if_else(BULL_DAT$Scanner=="02", "KU Skyra",BULL_DAT$Scanner)
BULL_DAT$Scanner<- if_else(BULL_DAT$Scanner=="03", "NEU Prisma",BULL_DAT$Scanner)
rm(list=setdiff(ls(), c("ADNI", "BULL_DAT")))
ADNI$Site<-if_else(ADNI$Scanner=="Prisma 1"|ADNI$Scanner=="Prisma 2", "PITT", as.character(ADNI$Scanner))
ADNI$Site<-if_else(ADNI$Scanner=="KU Skyra", "KU", as.character(ADNI$Scanner))
ADNI$Site<-if_else(ADNI$Scanner=="NEU Prisma", "NEU", as.character(ADNI$Scanner))
BULL_DAT$Scan.Date<-as.character(BULL_DAT$Scan.Date)
BULL_DAT$Scan.Date<-as.Date(BULL_DAT$Scan.Date, "%Y%m%d")
BULL_DAT$Date <- format(as.Date(BULL_DAT$Scan.Date), "%Y-%m-%d")
table(ADNI$Date %in% BULL_DAT$Date)
ADNI[!ADNI$Date %in% BULL_DAT$Date,]
table(BULL_DAT$Date %in% ADNI$Date)
BULL_DAT$Tech<-toupper(BULL_DAT$Tech)
BULL_DAT[!BULL_DAT$Date %in% ADNI$Date,]
ADNI$Site<-if_else(ADNI$Scanner=="Prisma 1", "PITT", as.character(ADNI$Site))
ADNI$Site<-if_else(ADNI$Scanner=="Prisma 2", "PITT", as.character(ADNI$Site))
ADNI$Site<-if_else(ADNI$Scanner=="Prisma 3", "PITT", as.character(ADNI$Site))
ADNI$Site<-if_else(ADNI$Scanner=="KU Skyra", "KU", as.character(ADNI$Site))
ADNI$Site<-if_else(ADNI$Scanner=="NEU Prisma", "NEU", as.character(ADNI$Site))
ADNI<-ADNI %>% select(Scanner,Site,Date,Tech, ADNI.END.Time,ADNI_SNR)
names(BULL_DAT)
BULL<-BULL_DAT %>% select(Site,Date,Tech, N_vol,Mean, Pk.to.Pk,RMS,SNR,Rqq,RDC, SpikeCount,BULL.Start.Time )
DAT<-left_join(BULL,ADNI ,by=c("Date","Site", "Tech" ))
DAT<-DAT[complete.cases(DAT$ADNI_SNR),]
DAT<-DAT[!duplicated(DAT),]
DAT<-DAT[complete.cases(DAT$Mean),]
write.csv(DAT, "/Volumes/IGNITE_Imaging/QC_Output/R_IGNITE/Phantom/Full_Phantom.csv")
BULL_0<-read.delim("/Volumes/IGNITE_Imaging/QC_Output/R_IGNITE/Phantom/BULL/ignite_stability_history_2018.txt")
BULL_0$Date<-paste(BULL_0$year, BULL_0$Month, BULL_0$Day, sep="-")
BULL_0$Date<-as.Date(BULL_0$Date, format="%Y-%b-%d")
BULL_0<-BULL_0[!duplicated(BULL_0),]
BULL_0$Site_0<-as.character(BULL_0$Site)
BULL_0$Site<-if_else(str_detect(BULL_0$Site, "UPMC")==1, "PITT", as.character(BULL_0$Site))
BULL_0$Site<-if_else(str_detect(BULL_0$Site, "MRRC")==1, "PITT", as.character(BULL_0$Site))
BULL_0$Site<-if_else(str_detect(BULL_0$Site, "MRRC")==1, "PITT", as.character(BULL_0$Site))
BULL_0$Site<-if_else(str_detect(BULL_0$Site, "Hoglund")==1, "KU", as.character(BULL_0$Site))
BULL_0$Site<-if_else(str_detect(BULL_0$Site, "Hogland")==1, "KU", as.character(BULL_0$Site))
BULL_0$Site<-if_else(str_detect(BULL_0$Site, "Northeastern")==1, "NEU", as.character(BULL_0$Site))
BULL_0$Site<-if_else(str_detect(BULL_0$Site, "NUBIC")==1, "NEU", as.character(BULL_0$Site))
BULL_0<-BULL_0 %>%
select(Site, Site_0 , Date, Timepts, Mean, Pk.to.Pk, RMS, SNR, Rqq, RDC, SpikeCount)
DIR=("/Volumes/IGNITE_Imaging/QC_Output/R_IGNITE/Phantom/BULL/")
setwd(DIR)
BULL.FILES<-list.files(DIR, "Output")
i=BULL.FILES[1]
df<-""
for (i in BULL.FILES) {
x<-paste(DIR, i, sep="")
setwd(DIR)
BULL <- readr::read_csv(x,
col_types = cols(`BULL END Time` = col_character()))
BULL<-BULL[complete.cases(BULL$`Scan Date`),]
BULL<-BULL[complete.cases(BULL$`Scan ID`),]
BULL$`Scan ID`<-str_replace(BULL$`Scan ID` ,pattern = "__", replacement ="_BULL_" )
if ("MR Tech" %in% names(BULL)==TRUE) {
BULL$Tech<-BULL$`MR Tech`
BULL$Tech<-toupper(BULL$Tech)} else {NULL}
if ("MR Operator" %in% names(BULL)==TRUE) {
BULL$Tech<-BULL$`MR Operator`
BULL$Tech<-toupper(BULL$Tech)
}else {NULL}
temp<-strsplit(BULL$`Scan ID`, "_BULL_")
mat<-matrix(unlist(temp), ncol=2, byrow = TRUE)
df.mat <- as.data.frame(mat)
df.mat$V1<-as.character(df.mat$V1)
BULL$Site<-if_else(str_detect(df.mat$V1,"01")==TRUE, "PITT", as.character(df.mat$V1))
BULL$Site<-if_else(str_detect(df.mat$V1,"02")==TRUE, "KU", as.character(BULL$Site))
BULL$Site<-if_else(str_detect(df.mat$V1,"03")==TRUE, "NEU", as.character(BULL$Site))
BULL$Scanner<-if_else(str_detect(df.mat$V1,"01_1")==TRUE, "Prisma 1", df.mat$V1)
BULL$Scanner<-if_else(str_detect(BULL$Scanner,"01_2")==TRUE, "Prisma 2", BULL$Scanner)
BULL$Scanner<-if_else(str_detect(BULL$Scanner,"01_3")==TRUE, "Prisma 3", BULL$Scanner)
BULL$Scanner<- if_else(BULL$Scanner=="01", " ",BULL$Scanner)
BULL$Scanner<- if_else(BULL$Scanner=="02", " ",BULL$Scanner)
BULL$Scanner<- if_else(BULL$Scanner=="03", " ",BULL$Scanner)
BULL_1<-BULL %>% select(`Scan ID`,Site,Scanner,`Scan Date` ,
`BULL END Time`,`MPRAGE Norm#`,`MPRAGE #`,`MPRAGE Changed?`,
Tech)
df<-rbind(df, BULL_1)
}
df<-df[!duplicated(df),]
date<-format(Sys.Date(),"%b%y")
file<-paste(DIR,"IN/","merged_ADNI_Phantom", date,"_base.csv", sep="")
readr::write_csv(df,file )
rm(list=setdiff(ls(), "df"))
DIR=("/Volumes/IGNITE_Imaging/QC_Output/R_IGNITE/Phantom/BULL/")
setwd(DIR)
BULL_DATE<-read.csv("/Volumes/IGNITE_Imaging/QC_Output/R_IGNITE/Phantom/BULL/IGNITE_BULL_QC_Output_New 2.csv",header = FALSE)
colnames(BULL_DATE)<-c("Scan.ID" ,"ScanDate","BULLStartTime", "MROperator", "RESTNormN","RESTN", "RESTChanged", "ScannerID" ,"MR TECH")
BULL_DATE<-BULL_DATE[-(1),]
BULL_DATE<-BULL_DATE[,-c(10)]
BULL_DATE<-BULL_DATE[!duplicated(BULL_DATE),]
BULL_DATE$Scan.ID<-as.character(BULL_DATE$Scan.ID)
BULL_DATE$ScanDate<-as.Date(BULL_DATE$ScanDate, format=("%Y%m%d"))
BULL_DATE$ScannerID<-as.character(BULL_DATE$ScannerID)
BULL_DATE$Scanner<-if_else(BULL_DATE$ScannerID=="MRC67078", "Pitt Prisma 1", as.character(BULL_DATE$ScannerID))
BULL_DATE$Scanner<-if_else(BULL_DATE$ScannerID=="AWP167046", "Pitt Prisma 2", as.character(BULL_DATE$Scanner))
BULL_DATE$Scanner<-if_else(BULL_DATE$ScannerID=="MRC35073", "Pitt Prisma 3", as.character(BULL_DATE$Scanner))
BULL_DATE$Scanner<-if_else(BULL_DATE$ScannerID=="AWP45135", "KU Skyra", as.character(BULL_DATE$Scanner))
BULL_DATE$Scanner<-if_else(BULL_DATE$ScannerID=="AWP166030", "NEU Prisma", as.character(BULL_DATE$Scanner))
BULL_DATA<-read.csv("/Volumes/IGNITE_Imaging/QC_Output/R_IGNITE/Phantom/BULL/IGNITE_BULL_QC_Stability 2.csv",header = TRUE)
BULL_DATA$Scan.ID<-as.character(BULL_DATA$Scan.ID)
BULL_DATA<-BULL_DATA[!duplicated(BULL_DATA),]
BULL<-full_join(BULL_DATA,BULL_DATE, by="Scan.ID")
BULL<-BULL[complete.cases(BULL$Timepts),]
rm(BULL_DATE, BULL_DATA)
BULL$ScanDate<-as.character(BULL$ScanDate)
BULL$BULLStartTime<-as.factor(BULL$BULLStartTime)
TMP<-str_split(BULL$BULLStartTime,pattern="\\.")
mat <- matrix(unlist(TMP), ncol=2, byrow=TRUE)
df <- as.data.frame(mat)
BULL$StartTime<-df$V1
BULL$Start_time<-paste(BULL$ScanDate,BULL$StartTime, sep=" ")
BULL$DateTime<-as.POSIXct(BULL$Start_time, format = "%Y-%m-%d %H%M%S")
DIR=("/Volumes/IGNITE_Imaging/QC_Output/R_IGNITE/Phantom/BULL/")
setwd(DIR)
BULL<-read.delim("/Volumes/IGNITE_Imaging/QC_Output/R_IGNITE/Phantom/BULL/",header = FALSE)
colnames(BULL_DATE)<-c("Scan.ID" ,"ScanDate","BULLStartTime", "MROperator", "RESTNormN","RESTN", "RESTChanged", "ScannerID" ,"MR TECH")
BULL_DATE<-BULL_DATE[-(1),]
BULL_DATE<-BULL_DATE[,-c(10)]
BULL_DATE<-BULL_DATE[!duplicated(BULL_DATE),]
BULL_DATE$Scan.ID<-as.character(BULL_DATE$Scan.ID)
BULL_DATE$ScanDate<-as.Date(BULL_DATE$ScanDate, format=("%Y%m%d"))
BULL_DATE$ScannerID<-as.character(BULL_DATE$ScannerID)
BULL_DATE$Scanner<-if_else(BULL_DATE$ScannerID=="MRC67078", "Pitt Prisma 1", as.character(BULL_DATE$ScannerID))
BULL_DATE$Scanner<-if_else(BULL_DATE$ScannerID=="AWP167046", "Pitt Prisma 2", as.character(BULL_DATE$Scanner))
BULL_DATE$Scanner<-if_else(BULL_DATE$ScannerID=="MRC35073", "Pitt Prisma 3", as.character(BULL_DATE$Scanner))
BULL_DATE$Scanner<-if_else(BULL_DATE$ScannerID=="AWP45135", "KU Skyra", as.character(BULL_DATE$Scanner))
BULL_DATE$Scanner<-if_else(BULL_DATE$ScannerID=="AWP166030", "NEU Prisma", as.character(BULL_DATE$Scanner))
BULL_DATA<-read.csv("/Volumes/IGNITE_Imaging/QC_Output/R_IGNITE/Phantom/BULL/IGNITE_BULL_QC_Stability.csv",header = TRUE)
BULL_DATA$Scan.ID<-as.character(BULL_DATA$Scan.ID)
BULL_DATA<-BULL_DATA[!duplicated(BULL_DATA),]
BULL<-full_join(BULL_DATA,BULL_DATE, by="Scan.ID")
BULL<-BULL[complete.cases(BULL$Timepts),]
rm(BULL_DATE, BULL_DATA)
BULL$ScanDate<-as.character(BULL$ScanDate)