//[[Rcpp::export]] Rcpp::LogicalVector toLogical(Rcpp::RawVector bytes) { unsigned nBit = bytes.attr("bitlen"); unsigned nByte = bytes.size(); Rcpp::LogicalVector ans(nBit);//default are all 0s unsigned byteIndex, bitIndex; for(unsigned i =0 ; i < nBit; i++) { byteIndex = i / 8; bitIndex = i % 8; if(bytes[byteIndex] & 1 << bitIndex) ans(i) = 1; } return(ans); }
// [[Rcpp::export]] XPtrImage magick_image_readbitmap_raw(Rcpp::RawVector x){ Rcpp::IntegerVector dims(x.attr("dim")); return magick_image_bitmap(x.begin(), Magick::CharPixel, dims[0], dims[1], dims[2]); }