[R-pkg-devel] Installed image not found in Debian

Tiago Olivoto t|@goo||voto @end|ng |rom gm@||@com
Tue May 11 22:45:37 CEST 2021


Dear all,
I just submitted a new package 'pliman' (
https://github.com/TiagoOlivoto/pliman) and it does not pass the incoming
checks automatically.
I have some images that are under '/inst/tmp_images' to be installed with
the package. In some examples and Vignettes, I use the helper function
image_pliman() <
https://github.com/TiagoOlivoto/pliman/blob/master/R/utils_imagem.R#L125>
to get the patch of a given image

Then, I use image_import() <
https://github.com/TiagoOlivoto/pliman/blob/master/R/utils_imagem.R#L69> to
import the image into R.

All tests passed in Windows <
https://win-builder.r-project.org/incoming_pretest/pliman_0.1.0_20210511_212904/Windows/00check.log>
but an error was got in Debian <
https://win-builder.r-project.org/incoming_pretest/pliman_0.1.0_20210511_212904/Debian/00check.log
>
The error occurs when image_import () has been called, for example

image_import(image_pliman("soybean_touch.jpg"))
Error:  'soybean_touch' not found in
.//srv/hornik/tmp/CRAN/pliman.Rcheck/pliman/tmp_images

It seems that this error comes from this check <
https://github.com/TiagoOlivoto/pliman/blob/master/R/utils_imagem.R#L92-L97>
that checks if the image name is available in the directory. Please, see a
toy example with my data.

# Get the patch of the image
image <- image_pliman("soybean_touch.jpg")
image
[1] "E:/Documents/R/win-library/4.0/pliman/tmp_images/soybean_touch.jpg"

# Get the directory of the image
img_dir <- file_dir(image)
> img_dir
[1] "E:/Documents/R/win-library/4.0/pliman/tmp_images"

# Get all files in the directory
> all_files <- sapply(list.files(img_dir), file_name)
> all_files
    background.jpg        la_back.jpg        la_leaf.jpg      la_leaves.JPG
      "background"          "la_back"          "la_leaf"        "la_leaves"
    la_pattern.JPG        la_temp.jpg objects_300dpi.jpg       sev_back.jpg
      "la_pattern"          "la_temp"   "objects_300dpi"         "sev_back"
   sev_healthy.jpg       sev_leaf.jpg    sev_leaf_nb.jpg      sev_sympt.jpg
     "sev_healthy"         "sev_leaf"      "sev_leaf_nb"        "sev_sympt"
     soy_green.jpg  soybean_grain.jpg  soybean_touch.jpg
       "soy_green"    "soybean_grain"    "soybean_touch"

# Get the name of the image and check if it is in the directory
> img_name <- file_name(image)
> img_name
[1] "soybean_touch"

if(!grepl("http", img_dir, fixed = TRUE) & !img_name %in% all_files){
  stop(" '", img_name, "' not found in ", img_dir,  call. = FALSE)
}

In this case, there is no error since  "soybean_touch" is in 'all_files'

I have no idea how to fix this issue and why this error occurs only on
Debian and not on Windows. Any suggestion to fix the error and/or improve
the code will be welcome!
Thanks in advance,
Tiago

	[[alternative HTML version deleted]]



More information about the R-package-devel mailing list