# ----------------------------------------------------------------------
#| lst-cap: "Copying images to training, validation, and test directories"
library(fs)
library(glue)

original_dir <- path("/home/esuess/classes/2025-2026/2026_Spring/Stat654/deep-learning-with-r-3ed-code-main/code/dogs-vs-cats/train/")                                      # <1>
new_base_dir <- path("/home/esuess/classes/2025-2026/2026_Spring/Stat654/deep-learning-with-r-3ed-code-main/code/dogs-vs-cats-small/")                                      # <2>

# ----------------------------------------------------------------------
fs::dir_tree("/home/esuess/classes/2025-2026/2026_Spring/Stat654/deep-learning-with-r-3ed-code-main/code/dogs-vs-cats-small", recurse = 1)

# ----------------------------------------------------------------------
make_subset <- function(subset_name, start_index, end_index) {                  # <3>
  for (category in c("dog", "cat")) {
    file_name <- glue("{category}.{start_index:end_index}.jpg")
    dir_create(new_base_dir / subset_name / category)
    file_copy(original_dir / file_name,
              new_base_dir / subset_name / category / file_name)
  }
}

make_subset("train", start_index = 1, end_index = 1000)                         # <4>
make_subset("validation", start_index = 1001, end_index = 1500)                 # <5>
make_subset("test", start_index = 1501, end_index = 2500)                       # <6>

# ----------------------------------------------------------------------
fs::dir_tree("/home/esuess/classes/2025-2026/2026_Spring/Stat654/deep-learning-with-r-3ed-code-main/code/dogs-vs-cats-small", recurse = 1)
