Decodes values from a GIFTI image

data_decoder(
  values,
  encoding = c("ASCII", "Base64Binary", "GZipBase64Binary", "ExternalFileBinary"),
  datatype = NULL,
  endian = c("little", "big", "LittleEndian", "BigEndian"),
  ext_filename = NULL,
  n = NULL
)

Arguments

values

text from XML of GIFTI image

encoding

encoding of GIFTI values

datatype

Passed to convert_binary_datatype

endian

Endian to pass in readBin

ext_filename

if encoding = "ExternalFileBinary", then this is the external filename

n

number of values to read. Relevant if encoding = "ExternalFileBinary"

Value

Vector of values

Examples

if (have_gifti_test_data(outdir = NULL)) {
   gii_files = download_gifti_data(outdir = NULL)
   L = gifti_list(gii_files[1])
   orig = L$DataArray$Data[[1]]
   encoding = attributes(L$DataArray)$Encoding
   datatype = attributes(L$DataArray)$DataType
   endian = attributes(L$DataArray)$Endian
   vals =  data_decoder(orig, encoding = encoding,
   datatype = datatype, endian = endian)
   enc = data_encoder(vals, encoding = encoding,
   datatype = datatype, endian = endian)
   enc == orig
}