R Shiny&Papaya(医学成像工具)

时间:2019-06-19 22:27:10

标签: r shiny

我在Shiny上渲染papayaWidget时遇到问题,它只显示一个空白页面,您可以在此链接以及我使用的代码下方找到我的会话:

robertoromo-sessioninfo.txt

代码:

library(kirby21.t1)
library(papayaWidget)
library(neurobase)

outdir = tempdir()
download_t1_data(outdir = outdir)

fname = kirby21.t1::get_t1_filenames(outdir = outdir)
fname = fname[3]

ui <- shinyUI(
fluidPage(
papayaOutput("test")
)
)

server <- function(input, output, session) {

output$test<-renderPapaya({

img = readnii(fname)

print(img)
papaya(img)
})

}

shinyApp(ui, server)

会话信息:

R version 3.5.2 (2018-12-20)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows >= 8 x64 (build 9200)

Matrix products: default

locale:
[1] LC_COLLATE=Spanish_Mexico.1252  LC_CTYPE=Spanish_Mexico.1252    LC_MONETARY=Spanish_Mexico.1252
[4] LC_NUMERIC=C                    LC_TIME=Spanish_Mexico.1252    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] shiny_1.2.0        kirby21.t1_1.7.0   neurobase_1.27.6   oro.nifti_0.9.1    papayaWidget_0.5.4

loaded via a namespace (and not attached):
 [1] Rcpp_1.0.0         later_0.8.0        git2r_0.24.0       compiler_3.5.2     shinyjs_1.0       
 [6] R.methodsS3_1.7.1  R.utils_2.8.0      prettyunits_1.0.2  base64enc_0.1-3    bitops_1.0-6      
[11] remotes_2.0.2      tools_3.5.2        testthat_2.0.1     digest_0.6.18      pkgbuild_1.0.2    
[16] pkgload_1.0.2      jsonlite_1.6       memoise_1.1.0      rlang_0.3.1        RNifti_0.10.0     
[21] cli_1.1.0          rstudioapi_0.9.0   curl_3.3           yaml_2.2.0         withr_2.1.2       
[26] desc_1.2.0         fs_1.2.6           htmlwidgets_1.3    devtools_2.0.2     DT_0.5.2          
[31] rprojroot_1.3-2    glue_1.3.0         R6_2.4.0           processx_3.2.1     sessioninfo_1.1.1 
[36] callr_3.1.1        magrittr_1.5       promises_1.0.1     matrixStats_0.54.0 splines_3.5.2     
[41] backports_1.1.3    ps_1.3.0           htmltools_0.3.6    usethis_1.4.0      assertthat_0.2.1  
[46] abind_1.4-5        xtable_1.8-3       mime_0.6           kirby21.base_1.7.0 httpuv_1.4.5.1    
[51] crayon_1.3.4       R.oo_1.22.0   

1 个答案:

答案 0 :(得分:-1)

好吧,这似乎是您写server()的方式,这是不正确的。 server()函数,因此它可以使用传递给它的参数(此处为inputoutputsession)。如果要考虑fname,则应将其传递给参数,例如:

server <- function(input, output, session, fname = fname) {

output$test<-renderPapaya({
  img = readnii(fname)
  print(img)
  papaya(img)
})

}

另一种实现方法是在fname的第一行中生成server(),如果不在代码的其他地方使用fname,我建议这样做。第三种选择可能是考虑到renderPapayaCustom()的生成而编写函数fname