Make_Movement_Mesh <- function( loc_orig, MeshType="Samples", Cutoff=1e-12, Refine=FALSE, ... ){
# 1st mesh
# for determining locations to track as vertices, and then discarded
mesh_discard = inla.mesh.create( loc_orig, plot.delay=NULL, extend=list(n=8,offset=-0.15), refine=FALSE ) # loc_samp
loc_discard = mesh_centers( mesh_discard )
# 2nd mesh
# for generating triangles to track movement #
mesh_domain = inla.mesh.create( loc_discard, plot.delay=NULL, extend=list(n=8,offset=-0.15), refine=Refine, cutoff=Cutoff, ... ) # loc_samp
loc_v = mesh_domain$loc[,1:2]
loc_r = mesh_centers( mesh_domain )
# Number of triangles (r) and vertices (v)
n_v = nrow( loc_v )
n_r = nrow( loc_r )
colnames(loc_v) = colnames(loc_r) = colnames(loc_orig)
# 3rd mesh
# for SPDE approximation to RF based on center of triangles for movement
if(MeshType=="Samples") mesh_gmrf = inla.mesh.create( loc_r, plot.delay=NULL, extend=list(n=8,offset=-0.15), refine=FALSE ) # loc_samp
if(MeshType=="Refined") mesh_gmrf = inla.mesh.create( loc_r, plot.delay=NULL, extend=list(n=8,offset=-0.15), refine=list(min.angle=26) ) # loc_samp ; ,max.edge.data=0.08,max.edge.extra=0.2
spde_gmrf = inla.spde2.matern(mesh_gmrf, alpha=2)
n_g = mesh_gmrf$n
# Return list
Return = list("n_g"=n_g, "n_v"=n_v, "n_r"=n_r, "loc_v"=loc_v, "loc_r"=loc_r, "mesh_domain"=mesh_domain, "spde_gmrf"=spde_gmrf, "mesh_gmrf"=mesh_gmrf)
return( Return )
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.