From 60c0be200693ef3172c440320eba5b57307e549f Mon Sep 17 00:00:00 2001 From: Jakob Russel Date: Mon, 13 Mar 2017 14:00:17 +0100 Subject: [PATCH] Optimized functions --- R/co_agg.R | 42 +++++++++--------- R/cross_ratio.R | 42 +++++------------- R/occupancy.R | 6 +-- README.md | 13 +++--- .../unnamed-chunk-10-1.png | Bin 5956 -> 5514 bytes .../unnamed-chunk-11-1.png | Bin 7285 -> 0 bytes .../unnamed-chunk-12-1.png | Bin 4815 -> 5076 bytes .../unnamed-chunk-13-1.png | Bin 5979 -> 0 bytes .../unnamed-chunk-16-1.png | Bin 5641 -> 4373 bytes .../unnamed-chunk-9-1.png | Bin 5504 -> 0 bytes 10 files changed, 37 insertions(+), 66 deletions(-) delete mode 100644 README_files/figure-markdown_strict/unnamed-chunk-11-1.png delete mode 100644 README_files/figure-markdown_strict/unnamed-chunk-13-1.png delete mode 100644 README_files/figure-markdown_strict/unnamed-chunk-9-1.png diff --git a/R/co_agg.R b/R/co_agg.R index 0144279..88514f0 100644 --- a/R/co_agg.R +++ b/R/co_agg.R @@ -94,9 +94,13 @@ co_agg.default <- function(imgs,channels,size,npixel,dstep=1,pwidth,zstep,freec= ch2_t[ch2_t > 0] <- 1} else stop("Kernel smooth has to be odd integers in all directions") } + # Sum channels + sumch <- ch1_t+ch2_t + # Densities of channels d1 <- length(which(ch1_t == 1))/length(ch1_t) d2 <- length(which(ch2_t == 1))/length(ch2_t) + d12 <- length(which(sumch > 0))/length(sumch) # Addresses in array (pixels) side <- dim(ch1_t)[1] @@ -104,37 +108,37 @@ co_agg.default <- function(imgs,channels,size,npixel,dstep=1,pwidth,zstep,freec= c(side, side, dim(ch1_t)[3])) # Coordinates of pixels in channel1 (pixels) - ch1_add <- data.frame(which(ch1_t == 1, T)) + ch1_add <- data.frame(which(ch1_t > 0, T)) colnames(ch1_add) <- c("x", "y", "z") # Coordinates of pixels in channel2 (pixels) - ch2_add <- data.frame(which(ch2_t == 1, T)) + ch2_add <- data.frame(which(ch2_t > 0, T)) colnames(ch2_add) <- c("x", "y", "z") - # Coordinates of all pixels (pixels) - ch_add <- data.frame(which(ch1_t == 1 | ch1_t == 0, T)) - colnames(ch_add) <- c("x", "y", "z") + # Coordinates of pixels in either channel (pixels) + ch_sum <- data.frame(which(sumch > 0, T)) + colnames(ch_sum) <- c("x", "y", "z") # Randomly sample pixels (pixels) - these <- sample(1:dim(ch_add)[1], size = npixel) + these <- sample(1:dim(ch_sum)[1], size = npixel) # Get their addresses - ch_pix <- ch_add[these,] + ch_pix <- ch_sum[these,] # Matrix to collect results hits <- matrix(NA, length(ds), npixel) totals <- matrix(NA, length(ds), npixel) - + # Loop through pixels for(j in 1:npixel){ # Focal pixel position p <- ch_pix[j,] - - # Does the focal pixel have a colour? + + # What colour is the focal pixel test1 <- ch1_add[ch1_add$x == p$x & ch1_add$y == p$y & ch1_add$z == p$z,] test2 <- ch2_add[ch2_add$x == p$x & ch2_add$y == p$y & ch2_add$z == p$z,] - + # Coordinates of the box (pixels) xrange <- c(p$x-(size/pwidth), p$x+(size/pwidth)) yrange <- c(p$y-(size/pwidth), p$y+(size/pwidth)) @@ -181,14 +185,10 @@ co_agg.default <- function(imgs,channels,size,npixel,dstep=1,pwidth,zstep,freec= } # Hits - if((nrow(test1)+nrow(test2))==0) {hits[,j] <- 0} else { - - for(l in 1:(length(ds))){ - if(nrow(test1)>0 & nrow(test2)==0) hits[l,j] <- length(which(id2[positions[[l]]]==1)) - if(nrow(test2)>0 & nrow(test1)==0) hits[l,j] <- length(which(id1[positions[[l]]]==1)) - if(nrow(test1)>0 & nrow(test2)>0) hits[l,j] <- length(which(id1[positions[[l]]]==1))+length(which(id2[positions[[l]]]==1)) - } - + for(l in 1:(length(ds))){ + if(nrow(test1)==1 && nrow(test2)==0) hits[l,j] <- length(which(id2[positions[[l]]]==1)) + if(nrow(test2)==1 && nrow(test1)==0) hits[l,j] <- length(which(id1[positions[[l]]]==1)) + if(nrow(test1)==1 && nrow(test2)==1) hits[l,j] <- length(which(id1[positions[[l]]]==1))+length(which(id2[positions[[l]]]==1)) } } @@ -199,8 +199,8 @@ co_agg.default <- function(imgs,channels,size,npixel,dstep=1,pwidth,zstep,freec= # Calculate probability and co-aggregation Prop <- hits.sum/totals.sum - CA <- Prop/(2*d1*d2) - + CA <- Prop/(2*(d1*d2/d12)) + theseCC <- cbind(gsub(channels[1],"",sub(".*/", "", ch1_files[i])),ds, CA) theseCC <- as.data.frame(theseCC) colnames(theseCC) <- c("Img", "Distance", "CA") diff --git a/R/cross_ratio.R b/R/cross_ratio.R index af0e2c5..0999497 100644 --- a/R/cross_ratio.R +++ b/R/cross_ratio.R @@ -99,37 +99,25 @@ cross_ratio.default <- function(imgs,focal.channel,target.channels,size,npixel,d ch.f <- medianFilter(ch.f,kern.s) ch.f[ch.f > 0] <- 1} else stop("Kernel smooth has to be odd integers in all directions") } - + # Densities of channels d1 <- length(which(ch.t1 == 1))/length(ch.t1) d2 <- length(which(ch.t2 == 1))/length(ch.t2) - + # Addresses in array (pixels) side <- dim(ch.t1)[1] address_array <- array(1:(side*side*dim(ch.t1)[3]), c(side, side, dim(ch.t1)[3])) - # Coordinates of pixels in channel1 (pixels) - ch1_add <- data.frame(which(ch.t1 == 1, T)) - colnames(ch1_add) <- c("x", "y", "z") - - # Coordinates of pixels in channel2 (pixels) - ch2_add <- data.frame(which(ch.t2 == 1, T)) - colnames(ch2_add) <- c("x", "y", "z") - # Coordinates of pixels in focal channel (pixels) chf_add <- data.frame(which(ch.f == 1, T)) colnames(chf_add) <- c("x", "y", "z") - - # Coordinates of all pixels (pixels) - ch_add <- data.frame(which(ch.t1 == 1 | ch.t1 == 0, T)) - colnames(ch_add) <- c("x", "y", "z") - + # Randomly sample pixels (pixels) - these <- sample(1:dim(ch_add)[1], size = npixel) + these <- sample(1:dim(chf_add)[1], size = npixel) # Get their addresses - ch_pix <- ch_add[these,] + ch_pix <- chf_add[these,] # Matrix to collect results hits1 <- matrix(NA, length(ds), npixel) @@ -141,11 +129,6 @@ cross_ratio.default <- function(imgs,focal.channel,target.channels,size,npixel,d # Focal pixel position p <- ch_pix[j,] - # Does the focal pixel have a colour? - test1 <- ch1_add[ch1_add$x == p$x & ch1_add$y == p$y & ch1_add$z == p$z,] - test2 <- ch2_add[ch2_add$x == p$x & ch2_add$y == p$y & ch2_add$z == p$z,] - testf <- chf_add[chf_add$x == p$x & chf_add$y == p$y & chf_add$z == p$z,] - # Coordinates of the box (pixels) xrange <- c(p$x-(size/pwidth), p$x+(size/pwidth)) yrange <- c(p$y-(size/pwidth), p$y+(size/pwidth)) @@ -187,16 +170,11 @@ cross_ratio.default <- function(imgs,focal.channel,target.channels,size,npixel,d } # Count hits - if(nrow(testf)==0) { - for(l in 1:(length(ds))){ - hits1[l,j] <- length(which(id1[positions[[l]]]==1)) - hits2[l,j] <- length(which(id2[positions[[l]]]==1)) - } - } else { - hits1[,j] <- 0 - hits2[,j] <- 0 + for(l in 1:(length(ds))){ + hits1[l,j] <- length(which(id1[positions[[l]]]==1)) + hits2[l,j] <- length(which(id2[positions[[l]]]==1)) + } - } # Sum hits for all pixels @@ -206,7 +184,7 @@ cross_ratio.default <- function(imgs,focal.channel,target.channels,size,npixel,d # Calculate ratio and cross-ratio Ratio <- hits1.sum/hits2.sum CR <- Ratio/(d1/d2) - + theseCR <- cbind(gsub(target.channels[1],"",sub(".*/", "", ch.t1_files[i])),ds, CR) theseCR <- as.data.frame(theseCR) colnames(theseCR) <- c("Img","Distance", "CR") diff --git a/R/occupancy.R b/R/occupancy.R index cb1dbb1..13f0ec8 100644 --- a/R/occupancy.R +++ b/R/occupancy.R @@ -103,14 +103,10 @@ occupancy.default <- function(imgs,focal.channel,target.channel,size,npixel,dste address_array <- array(1:(side*side*dim(ch.f)[3]), c(side, side, dim(ch.f)[3])) - # Coordinates of pixels in channel1 (pixels) + # Coordinates of pixels in focal channel (pixels) chf_add <- data.frame(which(ch.f == 1, T)) colnames(chf_add) <- c("x", "y", "z") - # Coordinates of pixels in channel2 (pixels) - cht_add <- data.frame(which(ch.t == 1, T)) - colnames(cht_add) <- c("x", "y", "z") - # Randomly sample pixels (pixels) these <- sample(1:dim(chf_add)[1], size = npixel) diff --git a/README.md b/README.md index e868814..9e2cc08 100644 --- a/README.md +++ b/README.md @@ -172,10 +172,9 @@ of both zstep and pwidth ## [1] 0.0 1.5 3.0 4.5 6.0 7.5 9.0 10.5 12.0 13.5 15.0 16.5 18.0 19.5 ## [15] 21.0 22.5 24.0 25.5 27.0 28.5 30.0 -Ok. lets try 21 microns then. As an example we pick 200 random pixels -(should be higher for actual analysis), and we run the whole thing 5 -times to see how picking random pixels affect the variability of the -result +Ok. lets try 21 microns then. As an example we pick 200 random pixels, +and we run the whole thing 5 times to see how picking random pixels +affect the variability of the result mycc <- co_agg(imgs=myimg,channels=c("xan","ste"),size=21,npixel=200,dstep=1,pwidth=0.75,zstep=0.25,R=5) @@ -210,9 +209,7 @@ expected from random chance We can also quantify how much space a channel (target) occupy at certain distances from another channel (focal). This is similar to -co-aggregation, although this is directed. With set number of random -pixels, `occupancy` is more precise than the `co_agg`, especially in -images with low fill. +co-aggregation, although this is directed. Lets run it until 21 microns. As an example we pick 200 random pixels, and we run the whole thing 5 times to see how picking random pixels @@ -291,7 +288,7 @@ expected given random chance. A cross-ratio above 1 at some distance means that target channel 1 is more likely to be found than target channel 2 at that distance. - mycr <- cross_ratio(imgs=myimg,focal.channel="pan",target.channels=c("xan","ste"),size=21,npixel=200,dstep=1,pwidth=0.75,zstep=0.25,R=5) + mycr <- cross_ratio(imgs=myimg,focal.channel="mic",target.channels=c("xan","pan"),size=21,npixel=200,dstep=1,pwidth=0.75,zstep=0.25,R=5) ## | diff --git a/README_files/figure-markdown_strict/unnamed-chunk-10-1.png b/README_files/figure-markdown_strict/unnamed-chunk-10-1.png index eae806b31513a4b1d0e4a5cd543669fccc17694f..a83f2bcc4c1e6cec0517989777c1a1232e9ab40d 100644 GIT binary patch literal 5514 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 diff --git a/README_files/figure-markdown_strict/unnamed-chunk-11-1.png b/README_files/figure-markdown_strict/unnamed-chunk-11-1.png deleted file mode 100644 index 25fec266fac965c2e241368b4722b1488e9ce153..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7285 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 literal 4815 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 Mv9z-&$Dh0Uzo1#`oB#j- literal 5641 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 diff --git a/README_files/figure-markdown_strict/unnamed-chunk-9-1.png b/README_files/figure-markdown_strict/unnamed-chunk-9-1.png deleted file mode 100644 index df853d06b345716499ea59125e0b2f766bd3cee6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5504 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 QZVH1r5)Tvpvhe}`3jv_W6951J