library(secr)

## Simulate a study landscape
buff.concave <- buffer.contour(traps, buffer = MMDMdist,plt = F)
##Calculate density with SE
studyarea<-sum (sapply(buff.concave, polyarea))/100 ## sum over parts
#sapply(buffer, polyarea)
studyarease<-sqrt(4*pi*studyarea*(MMDMse/1000)^2)

## Simulate a camera placements 
traps=make.grid(nx=7,ny=7,spacing=1500,detector="proximity")

## Set a ?true? density of tigers and movement parameters (sigma)
density=1.5 #ind/100 km2
occasions=60
g0=0.02
sigma=4590
detectfn=0
buffer<-4*sigma
truncate=sigma*qnorm(0.975)

#simulate capture histories 
results<-data.frame(Run=numeric(),Methods=character(),D=numeric(),stringsAsFactors = F)
sig<-numeric()
buf<-numeric()
nsim=50
for (n in 1:nsim){
  capthist<-sim.capthist(traps,popn=list(D=density/10000,buffer=buffer,Ndist="fixed"), detectfn=detectfn, detectpar=list(g0=g0, sigma=sigma,truncate=truncate),noccasions=occasions)
  
# Derive N, D, and A using different approaches
# Start with ?half MMDM?

  closedN<-closedN(capthist,estimator="jackknife")
  N<-closedN$Nhat
  Nse<- closedN$seNhat
  
  mmdm<-MMDM(capthist, min.recapt = 1, full = TRUE)
  
  MMDMdist<- mmdm$summary[[nrow(mmdm$summary),3]]
  MMDMse<- mmdm$summary[[nrow(mmdm$summary),4]]
  if(MMDMdist==0) MMDMdist=1
  
  bufferarea  <- buffer.contour(traps(capthist), buffer = MMDMdist/2, plt = FALSE)
  studyarea<-sum (sapply(bufferarea, polyarea))/100 ## sum over parts
  
  Dest<-N/studyarea*100
  
  results[nrow(results)+1,]<-data.frame(n,"Mh 1/2 MMDM",Dest,stringsAsFactors = F)

#Run for ?Full MMDM?
  bufferarea  <- buffer.contour(traps(capthist), buffer = MMDMdist, plt = FALSE)
  studyarea<-sum (sapply(bufferarea, polyarea))/100 ## sum over parts
  
  Dest<-N/studyarea*100

  results[nrow(results)+1,]<-data.frame(n,"Mh MMDM",Dest,stringsAsFactors = F)
  buf<-c(buf,MMDMdist)
 
#Run with ?Fixed? buffer derived from SCR analyses 
#This is what we call ?standardized buffer? in the text
#Which we set as the 95% home range 
  half-normal: 95%=1.959964 97.5%=2.241403
  MMDMdist<-sigma * qnorm(0.975) #=qhalfnorm(0.95)
  MMDMse<-sigma * qnorm(0.975)
  
  bufferarea  <- buffer.contour(traps(capthist), buffer = MMDMdist, plt = FALSE)
  studyarea<-sum (sapply(bufferarea, polyarea))/100 ## sum over parts
  
  Destcor<-N/studyarea*100

  results[nrow(results)+1,]<-data.frame(n,"Mh MMDM cor",Destcor,stringsAsFactors = F)

  cat(n,"\n")
}
# show results
boxplot(results$D~results$Methods,ylab=?Density?)
abline(h=density)

