{"cells":[{"metadata":{"_uuid":"dc76d4dd1a3b300276d15504ea62eaed6f7f4ca3","_execution_state":"idle","trusted":true},"cell_type":"code","source":"library(tidyverse) # metapackage with lots of helpful functions\nlibrary(jpeg)","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"60de206fdeed4a26a8cc3221e4e6724886dfe243"},"cell_type":"code","source":"rle_decode <- function(mask_rle, shape = c(768, 768)) {\n  \n  s <- str_split(mask_rle, pattern = \" \") %>% pluck(1)\n  \n  starts <- as.integer(s[c(TRUE, FALSE)] )\n  lenghts <- as.integer(s[c(FALSE, TRUE)])\n  \n  pixels <- map2(starts, lenghts, ~.x + (0:.y)) %>% flatten_int()\n  \n  data_frame(\n    row = pixels %/% shape[1] + 1,\n    col = shape[2] - pixels %% shape[2]\n  )\n}","execution_count":null,"outputs":[]},{"metadata":{"trusted":true,"_uuid":"f7ea959fe13d72bab0e3046f188a620f1ff734a7"},"cell_type":"code","source":"image_id <- \"0005d01c8.jpg\"\n\ndf <- read_csv(\"../input/train_ship_segmentations.csv\") %>% \n    filter(ImageId == image_id) %>%\n    mutate(pixels = map(EncodedPixels, rle_decode)) %>%\n    group_by(ImageId) %>%\n    summarise(pixels = list(bind_rows(pixels))) %>%\n    mutate(image = map(ImageId, ~readJPEG(paste0(\"../input/train/\", .x))))\n\npar(mfrow=c(1,2))\nplot(as.raster(df$image[[1]]))\n\nplot(as.raster(df$image[[1]]))\npoints(df$pixels[[1]]$row, df$pixels[[1]]$col, cex = 0.01, col = \"red\")","execution_count":null,"outputs":[]}],"metadata":{"kernelspec":{"display_name":"R","language":"R","name":"ir"},"language_info":{"mimetype":"text/x-r-source","name":"R","pygments_lexer":"r","version":"3.4.2","file_extension":".r","codemirror_mode":"r"}},"nbformat":4,"nbformat_minor":1}