Skip to content

Commit b4a649d

Browse files
committed
isMarginalized, printVar, bump v0.14.5
1 parent 572b94f commit b4a649d

File tree

4 files changed

+54
-22
lines changed

4 files changed

+54
-22
lines changed

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name = "DistributedFactorGraphs"
22
uuid = "b5cc3c7e-6572-11e9-2517-99fb8daf2f04"
3-
version = "0.14.4"
3+
version = "0.14.5"
44

55
[deps]
66
Base64 = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f"

src/DistributedFactorGraphs.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ export VariableNodeData, PackedVariableNodeData
180180

181181
export packVariableNodeData, unpackVariableNodeData
182182

183-
export getSolvedCount, isSolved, setSolvedCount!, isInitialized
183+
export getSolvedCount, isSolved, setSolvedCount!, isInitialized, isMarginalized
184184

185185
export getNeighborhood, getNeighbors, _getDuplicatedEmptyDFG
186186
export findFactorsBetweenNaive

src/services/CustomPrinting.jl

Lines changed: 40 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -16,46 +16,65 @@ function printVariable( io::IO, vert::DFGVariable;
1616
if short
1717
# opmemt = (getVariableType(vert) |> typeof ).name
1818
vari = getVariableType(vert) |> typeof
19-
printstyled(ioc, typeof(vert).name, "{",vari.name,"...}","\n", bold=true)
19+
printstyled(ioc, typeof(vert).name.name, "{",bold=true)
20+
printstyled(ioc, vari.name.name, bold=true, color=:blue)
21+
printstyled(ioc,"...}", bold=true)
22+
println(ioc, "")
2023
# printstyled(ioc, summary(vert),"\n", bold=true)
2124

22-
vnd = getSolverData(vert)
23-
println(ioc, " timestamp: ", vert.timestamp)
24-
println(ioc, " label: ", vert.label)
25-
println(ioc, " solvable: ", getSolvable(vert))
26-
println(ioc, " initilized: ", isInitialized(vert))
27-
println(ioc, " tags: ", getTags(vert))
2825
try
29-
print(ioc, " manifold: ")
26+
print(ioc, " manifold: ")
3027
show(ioc, getManifold(vert))
3128
println(ioc, "")
3229
catch e
3330
end
31+
vnd = getSolverData(vert, :default)
32+
println(ioc, " timestamp: ", vert.timestamp)
33+
println(ioc, " label: ", vert.label)
34+
println(ioc, " solvable: ", getSolvable(vert))
35+
println(ioc, " tags: ", getTags(vert))
3436
solk = listSolveKeys(vert) |> collect
3537
lsolk = length(solk)
3638
smsk = (rand(1:lsolk,100) |> unique)[1:minimum([4,lsolk])]
37-
println(ioc, " Nr solveKeys=$(lsolk): ", solk[smsk], 4<lsolk ? "..." : "")
38-
printstyled(ioc, " :default <-- VariableNodeData", "\n", bold=true)
39-
println(ioc, " size marginal samples: ", size(vnd.val))
40-
println(ioc, " kde bandwidths: ", round.((vnd.bw)[:,1], digits=4))
39+
# list the marginalization status
40+
ismarg = solk .|> x->isMarginalized(vert, x)
41+
isinit = solk .|> x->isInitialized(vert, x)
42+
printstyled(ioc, " # VND solveKeys= ($(lsolk))", bold=true)
43+
println(ioc, "")
44+
printstyled(ioc, " # initialized: ", bold=true)
45+
println(ioc, "(true=", sum(isinit), ",false=", length(isinit) - sum(isinit), ")" )
46+
printstyled(ioc, " # marginalized: ", bold=true)
47+
println(ioc, "(true=", sum(ismarg), ",false=", length(ismarg) - sum(ismarg), ")" )
48+
49+
println(ioc, " :default <-- VariableNodeData")
50+
println(ioc, " initilized: ", isInitialized(vert, :default))
51+
println(ioc, " marginalized: ", isMarginalized(vert, :default))
52+
println(ioc, " size bel. samples: ", size(vnd.val))
53+
println(ioc, " kde bandwidths: ", round.((vnd.bw)[:,1], digits=4))
54+
printstyled(ioc, " VNDs: ",bold=true)
55+
println(ioc, solk[smsk], 4<lsolk ? "..." : "")
56+
printstyled(ioc, " # PPE solveKeys= ($(length(getPPEDict(vert))))", bold=true)
57+
println(ioc, "")
4158
if haskey(getPPEDict(vert), :default)
42-
printstyled(ioc, " :default ", bold=true)
43-
println(ioc, "<-- PPE.suggested: ", round.(ppe.suggested,digits=4) )
59+
print(ioc, " :default ")
60+
println(ioc, "<-- .suggested: ", round.(getPPE(vert, :default).suggested,digits=4) )
4461
end
45-
maxkeys = 3
62+
maxkeys = 4
4663
for (key, ppe) in getPPEDict(vert)
64+
key == :default && continue # skip as default is done separately
4765
maxkeys -= 1
4866
maxkeys == 0 && break
49-
printstyled(ioc, " :$key ", bold=true)
50-
println(ioc, "<-- PPE.suggested: ", round.(ppe.suggested,digits=4) )
67+
print(ioc, " :$key ")
68+
println(ioc, "<-- .suggested: ", round.(ppe.suggested,digits=4) )
5169
end
52-
printstyled(ioc, " TYPE: ", bold=true, color=:blue)
70+
printstyled(ioc, " VariableType: ", color=:blue, bold=true)
5371
println(ioc, vari)
5472
# println(ioc, "kde max: $(round.(getKDEMax(getKDE(vnd)),digits=4))")
5573
# println(ioc, "kde max: $(round.(getKDEMax(getKDE(vnd)),digits=4))")
5674
else
5775

58-
printstyled(ioc, summary(vert),"\n", bold=true, color=:blue)
76+
printstyled(ioc, summary(vert), bold=true, color=:blue)
77+
println(ioc, "")
5978

6079
:solver in skipfields && push!(skipfields, :solverDataDict)
6180
:ppe in skipfields && push!(skipfields, :ppeDict)
@@ -65,7 +84,8 @@ function printVariable( io::IO, vert::DFGVariable;
6584
nf = nfields(vert)
6685

6786
for f in fields
68-
printstyled(ioc, f,":\n", color=:blue)
87+
printstyled(ioc, f,":", color=:blue)
88+
println(ioc, "")
6989
show(ioc, getproperty(vert, f))
7090
println(ioc)
7191
end

src/services/DFGVariable.jl

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,18 @@ function isInitialized(dfg::AbstractDFG, label::Symbol, key::Symbol=:default)
190190
end
191191

192192

193+
"""
194+
$SIGNATURES
195+
196+
Return `::Bool` on whether this variable has been marginalized.
197+
198+
Notes:
199+
- VariableNodeData default `solveKey=:default`
200+
"""
201+
isMarginalized(vert::DFGVariable, solveKey::Symbol=:default) = getSolverData(vert, solveKey).ismargin
202+
isMarginalized(dfg::AbstractDFG, sym::Symbol, solveKey::Symbol=:default) = isMarginalized(DFG.getVariable(dfg, sym), solveKey)
203+
204+
193205
##==============================================================================
194206
## Variables
195207
##==============================================================================

0 commit comments

Comments
 (0)