fitfc_job: Execute a single self-contained self-contained time-series...

Description Usage Arguments Details Value Author(s) References Examples

View source: R/fitfc_job.R

Description

A wrapper function for execute_fitfc_job_cpp. Intended to execute a single job, that is a number of predictions based on the same input pair(s). It ensures that all of the arguments passed are of the correct type and creates sensible defaults.

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
fitfc_job(
  input_filenames,
  input_resolutions,
  input_dates,
  pred_dates,
  pred_filenames,
  pred_area,
  winsize,
  date1,
  date3,
  n_neighbors,
  hightag,
  lowtag,
  MASKIMG_options,
  MASKRANGE_options,
  output_masks,
  use_nodata_value,
  resolution_factor,
  verbose = TRUE
)

Arguments

input_filenames

A string vector containing the filenames of the input images

input_resolutions

A string vector containing the resolution-tags (corresponding to the arguments hightag and lowtag, which are by default "high" and "low") of the input images.

input_dates

An integer vector containing the dates of the input images.

pred_dates

An integer vector containing the dates for which images should be predicted.

pred_filenames

A string vector containing the filenames for the predicted images. Must match pred_dates in length and order. Must include an extension relating to one of the drivers supported by GDAL, such as ".tif".

pred_area

(Optional) An integer vector containing parameters in image coordinates for a bounding box which specifies the prediction area. The prediction will only be done in this area. (x_min, y_min, width, height). By default will use the entire area of the first input image.

winsize

(Optional) Window size of the rectangle around the current pixel. Default is 51.

date1

(Optional) Set the date of the first input image pair. By default, will use the pair with the lowest date value.

date3

(Optional) For pseudo-doublepair mode: Set the date of the second input image pair. By default, will use the pair with the highest date value.

n_neighbors

(Optional) The number of near pixels (including the center) to use in the filtering step (spatial filtering and residual compensation). Default is 10.

hightag

(Optional) A string which is used in input_resolutions to describe the high-resolution images. Default is "high".

lowtag

(Optional) A string which is used in input_resolutions to describe the low-resolution images. Default is "low".

MASKIMG_options

(Optional) A string containing information for a mask image (8-bit, boolean, i. e. consists of 0 and 255). "For all input images the pixel values at the locations where the mask is 0 is replaced by the mean value." Example: --mask-img=some_image.png

MASKRANGE_options

(Optional) Specify one or more intervals for valid values. Locations with invalid values will be masked out. Ranges should be given in the format '[<float>,<float>]', '(<float>,<float>)', '[<float>,<float>', or '<float>,<float>]'. There are a couple of options:'

  • "–mask-valid-ranges" Intervals which are marked as valid. Valid ranges can excluded from invalid ranges or vice versa, depending on the order of options.

  • "–mask-invalid-ranges" Intervals which are marked as invalid. Invalid intervals can be excluded from valid ranges or vice versa, depending on the order of options.

  • "–mask-high-res-valid-ranges" This is the same as –mask-valid-ranges, but is applied only for the high resolution images.

  • "–mask-high-res-invalid-ranges" This is the same as –mask-invalid-ranges, but is applied only for the high resolution images.

  • "–mask-low-res-valid-ranges" This is the same as –mask-valid-ranges, but is applied only for the low resolution images.

  • "–mask-low-res-invalid-ranges" This is the same as –mask-invalid-ranges, but is applied only for the low resolution images.

output_masks

(Optional) Write mask images to disk? Default is "false".

use_nodata_value

(Optional) Use the nodata value as invalid range for masking? Default is "true".

resolution_factor

(Optional) Scale factor with which the low resolution image has been upscaled. This will be used for cubic interpolation of the residuals. Setting it to 1 will disable it. Default: 30.

verbose

(Optional) Print progress updates to console? Default is "true".

Details

Executes the FITFC Algorithm. If more than one pair is given, will perform prediction for the pred dates twice, once for each of the input pairs.

Value

Nothing. Output files are written to disk. The Geoinformation for the output images is adopted from the first input pair images.

Author(s)

Christof Kaufmann (C++)

Johannes Mast (R)

References

Wang, Qunming, and Peter M. Atkinson. "Spatio-temporal fusion for daily Sentinel-2 images." Remote Sensing of Environment 204 (2018): 31-42.

Examples

 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
 
# Load required libraries
library(ImageFusion)
library(raster)
# Get filesnames of high resolution images
landsat <- list.files(
  system.file("landsat/filled",
              package = "ImageFusion"),
  ".tif",
  recursive = TRUE,
  full.names = TRUE
)

# Get filesnames of low resolution images
modis <- list.files(
  system.file("modis",
              package = "ImageFusion"),
  ".tif",
  recursive = TRUE,
  full.names = TRUE
)

#Select the first two landsat images 
landsat_sel <- landsat[1:2]
#Select some corresponding modis images
modis_sel <- modis[1:12]
# Create output directory in temporary folder
out_dir <- file.path(tempdir(),"Outputs")
if(!dir.exists(out_dir)) dir.create(out_dir, recursive = TRUE)
#Run the job, fusing two images
fitfc_job(input_filenames = c(landsat_sel,modis_sel),
          input_resolutions = c("high","high",
                                "low","low","low",
                                "low","low","low",
                                "low","low","low",
                                "low","low","low"),
          input_dates = c(68,77,68,69,70,71,72,73,74,75,76,77,78,79),
          pred_dates = c(71,79),
          pred_filenames = c(file.path(out_dir,"fitfc_71.tif"),
                             file.path(out_dir,"fitfc_79.tif"))
)
# remove the output directory
unlink(out_dir,recursive = TRUE)

ImageFusion documentation built on March 4, 2021, 5:06 p.m.