Caesar's Reference

Function Reference

WORK IN PROGRESS Not all functions have been added to this directory yet.

Caesar

getPoseExVertexNeoIDs(conn; ready, backendset, session, reqbackendset)

Return array of tuples with ExVertex IDs and Neo4j IDs for all poses.

source
getLandmOtherSessNeoIDs{T <: AbstractString}(::CloudGraph, session::T="", robot::T="", user::T="", multisessions=Vector{T}())

Return dict of dict of Neo4j vertex IDs by session and landmark symbols.

source
Caesar.db2jldFunction.
db2jld(cgl::CloudGraph, session::AbstractString, filename::AbstractString)

Fetch and save a FactorGraph session to a jld, using CloudGraph object and session definition.

source
db2jld(filename::AbstractString; addrdict::NothingUnion{Dict{AbstractString, AbstractString}}=nothing )

Fetch and save a FactorGraph session to a jld, using or asking STDIN for credentials in the addrdict field.

source
fetchrobotdatafirstpose(cg::CloudGraph, session::AbstractString, robot::AbstractString, user::AbstractString)

Return dict of JSON parsed "robot_description" field as was inserted by counterpart insertrobotdatafirstpose! function. Used for storing general robot specific data in easily accessible manner.

source
Caesar.executeQueryFunction.
executeQuery(connection, query)

Run Neo4j Cypher queries on the cloudGraph database, and return Tuple with the unparsed (results, loadresponse). Throws an error if the query fails.

source
appendvertbigdata!(cloudGraph, cv, description, data)

Append big data element into current blob store and update associated global vertex information.

source
appendvertbigdata!(fgl, vert, description, data)

Append big data element into current blob store and update associated global vertex information.

source
appendvertbigdata!(fg, sym, descr, data)

Append big data element into current blob store using parent appendvertbigdata!, but here specified by symbol of variable node in the FactorGraph. Note the default data layer api definition. User must define dlapi to refetching the vertex from the data layer. localapi avoids repeated network database fetches.

source
updatenewverts!(fgl::FactorGraph; N::Int)

Convert vertices of session in Neo4j DB with Caesar.jl's required data elements in preparation for MM-iSAMCloudSolve process.

source
Caesar.getVertNeoIDs!Function.
getVertNeoIDs!(::CloudGraph, res::Dict{Symbol, Int}; session::AbstractString="NA", robot::AbstractString="NA", user::AbstractString="NA")

Insert into and return dict res with Neo4j IDs of ExVertex labels as stored per session in Neo4j database.

source
Caesar.whosNear3DFunction.
whosNear3D(cg, session, robot, user; x, y, z, roll, pitch, yaw, dist, angle)

Find vertices near the point specified and return dictionary of symbol to Neo4j ID pairs.

source
Caesar.getprpt2kdeFunction.
getprp2kde(::CloudGraph, neoids::Vector{Int}; N::Int=100)

Return PriorPoint2DensityNH with N points based on beliefs of neoids, and equal share null hypothesis between length(neoids)+1 beliefs.

source
Caesar.whosNear2DFunction.
whosNear2D(cg, session, robot, user; x, y, yaw, dist, angle)

Find vertices near the point specified and return dictionary of symbol to Neo4j ID pairs.

source
hasBigDataElement(vertex, description)

Return true if vertex has bigDataElements with matching description.

source
getAllLandmarkNeoIDs(::Dict{Symbol, Dict{Symbol, Int}}, ::Symbol)

Return Vector{Int} of Neo4j vertex IDs relating to symbol, as listed in lm2others.

source
consoleaskuserfordb(; nparticles, drawdepth, clearslamindb, multisession, drawedges)

Obtain database addresses and login credientials from STDIN, as well as a few case dependent options.

source
standardcloudgraphsetup(; addrdict, nparticles, drawdepth, drawedges, clearslamindb, multisession)

Connect to databases via network according to addrdict, or ask user for credentials and return active cloudGraph object, as well as addrdict.

source
resetentireremotesession(conn, session, robot, user)

match (n:session) remove n.backendset, n.ready, n.data, n.bigData, n.label, n.packedType, n.exVertexId, n.shape, n.width set n :NEWDATA return n

source
Caesar.getfirstposeFunction.
getfirstpose(cg::CloudGraph, session::AbstractString, robot::AbstractString, user::AbstractString)

Return Tuple{Symbol, Int} of first pose symbol and Neo4j node ID.

source
getExVertexNeoIDs(conn; label, ready, backendset, session, robot, user, reqbackendset)

Return array of tuples with ExVertex IDs and Neo4j IDs for vertices with label in session.

source
findExistingMSConstraints(fgl::FactorGraph)

Return Dict{Symbol, Int} of vertex symbol to Neo4j node ID of MULTISESSION constraints in this fgl.sessionname.

source
Caesar.removeNeo4jIDFunction.
removeNeo4jID(cg::CloudGraph, neoid=-1)

Remove node from Neo4j according to Neo4j Node ID. Big data elements that may be associated with this node are not removed.

source
getBigDataElement(vertex, description)

Walk through vertex bigDataElements and return the last matching description.

source
rmInstMultisessionPriors!(::CloudGraph; session<:AbstractString=, multisessions::Vector{<:AbstractString}= )
source
insertrobotdatafirstpose!(cg::CloudGraph, session::AbstractString, robot::AbstractString, user::AbstractString, robotdict::Dict)

Saves robotdict via JSON to first pose in a SESSION in the database. Used for storing general robot specific data in easily accessible manner. Can fetch later retrieve same dict with counterpart fetchrobotdatafirstpose function.

source
Caesar.fetchsubgraph!Function.
fetchsubgraph!(::FactorGraph, ::Vector{CloudVertex}, numneighbors::Int=0)

Fetch and insert list of CloudVertices into FactorGraph object, up to neighbor depth.

source
fetchsubgraph!(::FactorGraph, ::Vector{Int}, numneighbors::Int=0)

Fetch and insert list of Neo4j IDs into FactorGraph object, up to neighbor depth.

source
getLocalSubGraphMultisession{T <: AbstractString}(cg::CloudGraph, lm2others; session::T="", numneighbors::Int=0)

Return subgraph copy of type FactorGraph contaning values from session in lm2others, and Vector{Symbol} of primary key symbols used for graph exstraction.

source
Caesar.getnewvertdictFunction.
getnewvertdict(conn, session::AbstractString, robot::AbstractString, user::AbstractString)

Return a dictionary with frtend and mongo_keys json string information for :NEWDATA elements in Neo4j database.

source

RoME

RoME.getRangeKDEMax2DFunction.
getRangeKDEMax2D(cgl::CloudGraph, session::AbstractString, vsym1::Symbol, vsym2::Symbol)

Calculate the cartesian distange between two vertices in the graph, by session and symbol names, and by maximum belief point.

source
getRangeKDEMax2D(fgl, vsym1, vsym2)

Calculate the cartesian distance between two vertices in the graph using their symbol name, and by maximum belief point.

RoME.initFactorGraph!Function.
initFactorGraph!(fg; P0, init, N, lbl, ready, firstPoseType, labels)

Initialize a factor graph object as Pose2, Pose3, or neither and returns variable and factor symbols as array.

RoME.addOdoFG!Function.
addOdoFG!(fg, n, DX, cov; N, ready, labels)

Create a new variable node and insert odometry constraint factor between which will automatically increment latest pose symbol x<k+1> for new node new node and constraint factor are returned as a tuple.

addOdoFG!(fgl, odo; N, ready, labels)

Create a new variable node and insert odometry constraint factor between which will automatically increment latest pose symbol x<k+1> for new node new node and constraint factor are returned as a tuple.

IncrementalInference

addVariable!
addFactor!
allnums
approxCliqMarginalUp!
approxConv
batchSolve!
childCliqs
cliqGibbs
convert2packedfunctionnode
decodefg
deleteFactor!
deleteVariable!
doautoinit!
downMsgPassingRecursive
dwnMsg
emptyFactorGraph
encodefg
fifoFreeze!
findRelatedFromPotential
fmcmc!
getCurrentWorkspaceFactors
getCurrentWorkspaceVariables
getCliq
getData
getKDE
getParent
getSofttype
getVal
getVertKDE
getUpMsgs
getDwnMsgs
initializeNode!
landmarks
loadjld
localProduct
ls
lsf
lsRear
manualinit!
parentCliq
packFromLocalPotentials!
printgraphmax
productpartials!
prodmultiplefullpartials
prodmultipleonefullpartials
savejld
setDwnMsg!
setfreeze!
setUpMsg!
subgraphFromVerts
treeProductDwn
treeProductUp
updateFGBT!
upGibbsCliqueDensity
upMsg
writeGraphPdf
showFactor
showVariable