forked from nataliekoh/ShinyQA
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathui.R
134 lines (131 loc) · 6.46 KB
/
ui.R
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
shinyUI(fluidPage(
shinyjs::useShinyjs(),
titlePanel(h2(strong("Functional MRI QA"))),
sidebarLayout(fluid = TRUE,
sidebarPanel(#width = 3,
selectInput("subid",
label = "Select Subject ID",
choices = list("100044", "100054")),
selectInput("taskid",
label = "Select Task",
choices = list("rest-on", "rest-off",
"axcpt-on", "axcpt-off")),
selectInput("sessionid",
label = "Select Session",
choices = list("session1")),
div(
id = "form",
textInput("userid", label = h4("Your UW NetID"), value = ""),
radioButtons("parrecQA", label = h4("Acquisition Parameters"),
choices = list("Good" = 1,
"Bad" = 2)),
radioButtons("rawmoviesQA", label = h4("Raw Movies"),
choices = list("Good" = 1,
"Bad" = 2)),
radioButtons("tsnrQA", label = h4("TSNR Images"),
choices = list("Good" = 1,
"Bad" = 2)),
radioButtons("meicaQA", label = h4("MEICA Output"),
choices = list("Good" = 1,
"Bad" = 2)),
radioButtons("motionQA", label = h4("Motion Metrics"),
choices = list("Good" = 1,
"Bad" = 2)),
radioButtons("regQA", label = h4("Registrations"),
choices = list("Good" = 1,
"Bad" = 2)),
textAreaInput("Comments", label = h4("Overall Comments"), value = ""),
actionButton("submit", "Submit", class = "btn-primary"),
shinyjs::hidden(
span(id = "submit_msg", "Saving your response..."),
div(id = "error",
div(br(), tags$b("Error:"), span(id = "error_msg")))
)
),
shinyjs::hidden( div(
id = "submitted_msg",
h3("Your response has been logged."),
actionLink("submit_another", "Submit another response")
)),
br(),
downloadButton("downloadData", "Download QA Logsheet")
),
mainPanel(#width = 9,
tabsetPanel(
tabPanel("Summary",
h4(span(textOutput("subviewtext", inline = TRUE)),
style = "color:purple", align = "center"), br(),
div(em("This subject has been flagged for the following parameters:", style = "color:red")),
uiOutput("warnings"), br(),
h3("Acquistion Parameters"),
uiOutput("acqpar")),
tabPanel("Raw Data Movies",
h3("Echo 1"),
plotOutput("rawe001x", height = 300, width = 400),
plotOutput("rawe001y", height = 300, width = 400),
plotOutput("rawe001z", height = 300, width = 400),
h3("Echo 2"),
plotOutput("rawe002x", height = 300, width = 400),
plotOutput("rawe002y", height = 300, width = 400),
plotOutput("rawe002z", height = 300, width = 400),
h3("Echo 3"),
plotOutput("rawe003x", height = 300, width = 400),
plotOutput("rawe003y", height = 300, width = 400),
plotOutput("rawe003z", height = 300, width = 400),
h4("T1 Brain Skullstrip"),
img(src="100044/T1_brain.gif", height = 400, width = 400)),
tabPanel("TSNR Images",
h3("TSNR Mean (e001)"),
plotOutput("tsnr.e001x", height = 400, width = 500, inline = TRUE),
plotOutput("tsnr.e001y", height = 400, width = 500, inline = TRUE),
plotOutput("tsnr.e001z", height = 400, width = 500, inline = TRUE),
h3("TSNR Mean (e002)"),
plotOutput("tsnr.e002x", height = 300, width = 500, inline = TRUE),
plotOutput("tsnr.e002y", height = 300, width = 500, inline = TRUE),
plotOutput("tsnr.e002z", height = 300, width = 500, inline = TRUE),
h3("TSNR Mean (e003)"),
plotOutput("tsnr.e003x", height = 300, width = 500, inline = TRUE),
plotOutput("tsnr.e003y", height = 300, width = 500, inline = TRUE),
plotOutput("tsnr.e003z", height = 300, width = 500, inline = TRUE)),
tabPanel("MEICA Movies",
h3("TSOC"),
plotOutput("meica.tsocx", height = 300, width = 400, inline = TRUE),
plotOutput("meica.tsocy", height = 300, width = 400, inline = TRUE),
plotOutput("meica.tsocz", height = 300, width = 400, inline = TRUE),
h3("MEDN"),
plotOutput("meica.mednx", height = 300, width = 400, inline = TRUE),
plotOutput("meica.medny", height = 300, width = 400, inline = TRUE),
plotOutput("meica.mednz", height = 300, width = 400, inline = TRUE),
h3("MEFC"),
plotOutput("meica.mefcx", height = 300, width = 400, inline = TRUE),
plotOutput("meica.mefcy", height = 300, width = 400, inline = TRUE),
plotOutput("meica.mefcz", height = 300, width = 400, inline = TRUE)),
tabPanel("Motion Metrics",
uiOutput("motionmetrics"),
h3("Motion Rotations (e002)"),
plotOutput("motion.rot", width = 400),
h3("Motion Rotations (e002)"),
plotOutput("motion.trans", width = 400),
h3("Framewise Displacement (e002)"),
plotOutput("motion.fd", width = 400),
h3("DVARS (e002)"),
plotOutput("motion.dvars02", width = 400),
h3("DVARS (tsoc/medn)"),
plotOutput("motion.dvars.tsocmedn", width = 400)),
tabPanel("Registrations",
h3("TSOC to T1"),
plotOutput("tsocT1", width = 900, inline = TRUE),
h3("TSOC to Subject-Specific Template"),
plotOutput("tsocCT", width = 900, inline = TRUE),
h3("TSOC to MNI"),
plotOutput("tsocMNI", width = 900, inline = TRUE)),
tabPanel("Logsheet",
DT::dataTableOutput("responsesTable")),
tabPanel("Flagged Subjects",
br(),
p("Here list subjects who need to be re-checked"))
)
)
)
)
)