28
28
# '
29
29
# ' @export
30
30
31
- create_multiband_image <- function (input_dir , desired_band_order , output_dir , make_plot = FALSE , return_raster = FALSE ){
31
+
32
+ create_multiband_image <- function (input_dir ,
33
+ desired_band_order ,
34
+ output_dir ,
35
+ make_plot = FALSE ,
36
+ return_raster = FALSE ) {
32
37
# folder list | recursive = won't pick folders within folders
33
38
folders <- list.dirs(input_dir , full.names = T , recursive = FALSE )
34
39
35
- if (length(folders ) == 0 ){
40
+ if (length(folders ) == 0 ) {
36
41
folders <- input_dir
37
42
}
38
43
# # NOTE: 'desired_band_order' must match file names
39
44
# should be combined in wavelength order
40
45
41
46
# loop thru each folder
42
47
for (folder in folders ) {
43
-
44
48
# list of tif files
45
49
tif_files <- list.files(folder , pattern = " \\ .tif$" , full.names = TRUE )
46
50
@@ -57,16 +61,23 @@ create_multiband_image <- function(input_dir, desired_band_order, output_dir, ma
57
61
# create output file as .tif and as .envi
58
62
output_filename <- file.path(output_dir , paste0(basename(folder ), " _multiband_image" ))
59
63
# write .tif file
60
- terra :: writeRaster(combined_image , filename = paste0(output_filename , ' .tif' ),
61
- filetype = " GTiff" , gdal = c(" INTERLEAVE=BAND" ), overwrite = TRUE )
64
+ terra :: writeRaster(
65
+ combined_image ,
66
+ filename = paste0(output_filename , ' .tif' ),
67
+ filetype = " GTiff" ,
68
+ gdal = c(" INTERLEAVE=BAND" ),
69
+ overwrite = TRUE
70
+ )
62
71
63
72
64
73
# plot image - for checking
65
- if (make_plot ) terra :: plot(combined_image )
74
+ if (make_plot )
75
+ terra :: plot(combined_image )
66
76
67
77
# logic for what to return
68
- if (return_raster ) return (combined_image )
69
- else return (NULL )
78
+ if (return_raster )
79
+ return (combined_image )
80
+ else
81
+ return (NULL )
70
82
}
71
83
}
72
-
0 commit comments