From janverbesselt at gmail.com Fri Mar 22 17:18:42 2013 From: janverbesselt at gmail.com (Jan Verbesselt) Date: Fri, 22 Mar 2013 17:18:42 +0100 Subject: [Bfast-commits] FW: Running bfast on raster bricks In-Reply-To: <003601ce0df2$3285f690$9791e3b0$@gmail.com> References: <003601ce0df2$3285f690$9791e3b0$@gmail.com> Message-ID: I have updated the bfast package and included a working example in the bfastmonitor example. Please see ?bfastmonitor install bfast via http://r-forge.r-project.org/R/?group_id=533 after the weekend then the new details will be available. Let me know if you have specific questions. Best, Jan On Mon, Feb 18, 2013 at 5:08 PM, Polyanne Aguiar wrote: > ** ** > > Hello,**** > > ** ** > > I am using the bfast in my jobs. But, I am attempting run the bfastmonitor > on a raster brick (time serie MODIS EVI), I not get.**** > > I followed the script proposed by you in this forum. But I did not > succeed.**** > > ** ** > > Following is the script used:**** > > ** ** > > > ################################################################################ > **** > > ** ** > > ## TUTORIAL for processing raster bricks (satellite image time series of > 16-day NDVI images)**** > > ** ** > > file<- brick("MT_micro.tif", native, package="raster")**** > > file**** > > ** ** > > ## helper function for the calc function **** > > xbfast <- function(file) {**** > > ndvi <- ts(file, frequency=23, start=c(2000,9))**** > > result <- bfast(ndvi, season="harmonic", max.iter=1, breaks=2)**** > > return(cbind(result$Magnitude,result$Time)) ## save magnitude and > time of the biggest break **** > > }**** > > ** ** > > ## apply on a single pixel for testing**** > > pixel <- as.vector(file[50])**** > > ndvi <- ts(pixel, frequency=23, start=c(2000,9))**** > > plot(ndvi)**** > > result <- bfast(ndvi, season="harmonic", max.iter=1, breaks=2)**** > > plot(result)**** > > ** ** > > ** ** > > ## apply on a single pixel using the xbfast function **** > > output <- xbfast(pixel)**** > > output**** > > **** > > ** ** > > ## optimise function that takes into account the percentage of NA's within > a time series **** > > bfastfun <- function(y) {**** > > percNA <- apply(y, 1, FUN=function(x) (sum(is.na(x))/length(x)) ) > ## checks the percentage of NA's with the time series**** > > i <- (percNA<0.2)**** > > res <- matrix(NA, length(i), 2)**** > > if (sum(i) > 0) {**** > > res[i,] <- t(apply(y[i,], 1, xbfast))**** > > }**** > > res**** > > }**** > > ** ** > > ##apply on the full satellite image time series **** > > magntime <- calc(data, fun=bfastfun)**** > > layerNames(magntime) <- c("Magnitude", "Time of biggest Break")**** > > plot(magntime)**** > > ** ** > > ## two rasters are returned: i.e. the magnitude and time of the biggest > break ## WARNING: this is requires some time :-).**** > > ** ** > > > ############################################################################################### > **** > > ** ** > > Thanks,**** > > ** ** > > ** ** > > Polyanne Aguiar dos Santos**** > > Master in Applied Ecology ? UFLA**** > > Specialist in Environmental Management ? UNISAM**** > > Biologist ? ESFA**** > > Phone: +55 35 9178 3275**** > > Skype: polyanne.aguiar**** > > ** ** > > [image: cid:image001.png at 01CDF3FB.781F9910]**** > > ** ** > > ** ** > > _______________________________________________ > Bfast-commits mailing list > Bfast-commits at lists.r-forge.r-project.org > https://lists.r-forge.r-project.org/cgi-bin/mailman/listinfo/bfast-commits > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image001.png Type: image/png Size: 11326 bytes Desc: not available URL: