Skip to content

Commit e29390f

Browse files
committed
estimates -> getVariablePPEs
1 parent 5ad243d commit e29390f

File tree

5 files changed

+96
-68
lines changed

5 files changed

+96
-68
lines changed

src/DistributedFactorGraphs.jl

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,7 @@ export AbstractParams, NoSolverParams
2121
export DFGNode, DFGVariable, DFGFactor, AbstractDFGVariable, AbstractDFGFactor
2222
export InferenceType, PackedInferenceType, FunctorInferenceType, InferenceVariable, ConvolutionObject
2323
export FunctorSingleton, FunctorPairwise, FunctorPairwiseMinimize
24-
export getMaxPPE, getMeanPPE, getSuggestedPPE, getEstimates
25-
export getVariablePPE
24+
export getMaxPPE, getMeanPPE, getSuggestedPPE, getVariablePPE, getPPE, getVariablePPEs, getPPEs #, getEstimates
2625
export timestamp # DEPRECATED
2726
export label, getTimestamp, setTimestamp!, tags, setTags!, estimates, estimate, data, softtype, solverData, getData, solverDataDict, setSolverData, setSolverData!, internalId, smallData, setSmallData!, bigData
2827
export DFGVariableSummary, DFGFactorSummary, AbstractDFGSummary

src/entities/DFGVariable.jl

Lines changed: 57 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -128,10 +128,10 @@ struct MeanMaxPPE <: AbstractPointParametricEst
128128
end
129129
MeanMaxPPE(solverKey::Symbol, suggested::Vector{Float64}, max::Vector{Float64},mean::Vector{Float64}) = MeanMaxPPE(solverKey, suggested, max, mean, now())
130130

131-
getMaxPPE(est::AbstractPointParametricEst) = est.max
132-
getMeanPPE(est::AbstractPointParametricEst) = est.mean
133-
getSuggestedPPE(est::AbstractPointParametricEst) = est.suggested
134-
getLastUpdatedTimestamp(est::AbstractPointParametricEst) = est.lastUpdatedTimestamp
131+
getMaxPPE(ppe::AbstractPointParametricEst) = ppe.max
132+
getMeanPPE(ppe::AbstractPointParametricEst) = ppe.mean
133+
getSuggestedPPE(ppe::AbstractPointParametricEst) = ppe.suggested
134+
getLastUpdatedTimestamp(ppe::AbstractPointParametricEst) = ppe.lastUpdatedTimestamp
135135

136136

137137
VariableEstimate(params...) = error("VariableEstimate is deprecated, please use MeanMaxPPE")
@@ -208,61 +208,90 @@ const VariableDataLevel0 = Union{DFGVariable, DFGVariableSummary, SkeletonDFGVar
208208
const VariableDataLevel1 = Union{DFGVariable, DFGVariableSummary}
209209
const VariableDataLevel2 = Union{DFGVariable}
210210

211-
212211
"""
213-
$SIGNATURES
212+
$SIGNATURES
214213
215-
Return the estimates for a variable.
214+
Return dictionary with Parametric Point Estimates (PPE) values.
215+
216+
Notes:
217+
- Equivalent to `getPPEs`.
216218
"""
217-
getEstimates(v::VariableDataLevel1) = v.estimateDict
219+
getVariablePPEs(vari::VariableDataLevel1)::Dict = vari.estimateDict
218220

219221
"""
220222
$SIGNATURES
221223
222-
Return the estimates for a variable.
224+
Return dictionary with Parametric Point Estimates (PPE) values.
223225
224-
DEPRECATED, estimates -> getEstimates
226+
Notes:
227+
- Equivalent to `getVariablePPEs`.
225228
"""
226-
function estimates(v::VariableDataLevel1)
227-
@warn "Deprecated estimates, use getEstimates instead."
228-
getEstimates(v)
229-
end
229+
getPPEs(vari::VariableDataLevel1)::Dict = getVariablePPEs(vari)
230+
230231

231232
"""
232233
$SIGNATURES
233234
234-
Return a keyed estimate (default is :default) for a variable.
235+
Get the parametric point estimate (PPE) for a variable in the factor graph.
236+
237+
Notes
238+
- Defaults on keywords `solveKey` and `method`
239+
240+
Related
241+
242+
getMeanPPE, getMaxPPE, getKDEMean, getKDEFit, getPPEs, getVariablePPEs
235243
"""
236-
getEstimate(v::VariableDataLevel1, key::Symbol=:default) = haskey(v.estimateDict, key) ? v.estimateDict[key] : nothing
244+
function getVariablePPE(vari::VariableDataLevel1, solveKey::Symbol=:default)
245+
ppeDict = getVariablePPEs(vari)
246+
return haskey(ppeDict, solveKey) ? ppeDict[solveKey] : nothing
247+
end
248+
249+
getVariablePPE(dfg::AbstractDFG, vsym::Symbol, solveKey::Symbol=:default) = getVariablePPE(getVariable(dfg,vsym), solveKey)
237250

238251
"""
239252
$SIGNATURES
240253
241-
Return a keyed estimate (default is :default) for a variable.
254+
Return the estimates for a variable.
242255
"""
243-
function estimate(v::VariableDataLevel1, key::Symbol=:default)
244-
@warn "DEPRECATED estimate, use getEstimate instead."
245-
getEstimate(v, key)
256+
function getEstimates(v::VariableDataLevel1)
257+
@warn "Deprecated getEstimates, use getVariablePPE/getPPE instead."
258+
getVariablePPEs(vari)
246259
end
247260

261+
"""
262+
$SIGNATURES
263+
264+
Return the estimates for a variable.
265+
266+
DEPRECATED, estimates -> getVariablePPEs/getPPEs
267+
"""
268+
function estimates(v::VariableDataLevel1)
269+
@warn "Deprecated estimates, use getVariablePPEs/getPPE instead."
270+
getVariablePPEs(v)
271+
end
248272

249273
"""
250274
$SIGNATURES
251275
252-
Get the parametric point estimate (PPE) for a variable in the factor graph.
276+
Return a keyed estimate (default is :default) for a variable.
253277
254-
Notes
255-
- Defaults on keywords `solveKey` and `method`
278+
DEPRECATED use getVariablePPE/getPPE instead.
279+
"""
280+
function getEstimate(v::VariableDataLevel1, key::Symbol=:default)
281+
@warn "Deprecated getEstimate, use getVariablePPE/getPPE instead."
282+
getVariablePPE(v, key)
283+
end
256284

257-
Related
285+
"""
286+
$SIGNATURES
258287
259-
getMeanPPE, getMaxPPE, getKDEMean, getKDEFit
288+
Return a keyed estimate (default is :default) for a variable.
260289
"""
261-
function getVariablePPE(vari::DFGVariable; solveKey::Symbol=:default, method::Function=getSuggestedPPE)
262-
getEstimates(vari)[solveKey] |> getSuggestedPPE
290+
function estimate(v::VariableDataLevel1, key::Symbol=:default)
291+
@warn "DEPRECATED estimate, use getVariablePPE/getPPE instead."
292+
getVariablePPE(v, key)
263293
end
264294

265-
getVariablePPE(dfg::AbstractDFG, vsym::Symbol; solveKey::Symbol=:default, method::Function=getSuggestedPPE) = getVariablePPE(getVariable(dfg,vsym), solveKey=solveKey, method=method)
266295

267296
"""
268297
$(SIGNATURES)

test/LightDFGSummaryTypes.jl

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -94,23 +94,23 @@ end
9494
@test updateFactor!(dfg, f1Prime) == f1
9595

9696
# Accessors
97-
@test label(v1) == v1.label
98-
@test tags(v1) == v1.tags
97+
@test getLabel(v1) == v1.label
98+
@test getTags(v1) == v1.tags
9999

100100
if VARTYPE == DFGVariableSummary
101101
@test getTimestamp(v1) == v1.timestamp
102-
@test estimates(v1) == v1.estimateDict
103-
@test estimate(v1, :notfound) == nothing
104-
@test softtype(v1) == :Pose2
102+
@test getVariablePPEs(v1) == v1.estimateDict
103+
@test getVariablePPE(v1, :notfound) == nothing
104+
@test getSofttype(v1) == :Pose2
105105
@test internalId(v1) == v1._internalId
106106
end
107107
# @test solverData(v1) === v1.solverDataDict[:default]
108108
# @test getData(v1) === v1.solverDataDict[:default]
109109
# @test solverData(v1, :default) === v1.solverDataDict[:default]
110110
# @test solverDataDict(v1) == v1.solverDataDict
111111

112-
@test label(f1) == f1.label
113-
@test tags(f1) == f1.tags
112+
@test getLabel(f1) == f1.label
113+
@test getTags(f1) == f1.tags
114114
# @test solverData(f1) == f1.data
115115
# Deprecated functions
116116
# @test data(f1) == f1.data
@@ -129,24 +129,24 @@ end
129129
var = getVariable(dfg, :a)
130130
#make a copy and simulate external changes
131131
newvar = deepcopy(var)
132-
estimates(newvar)[:default] = MeanMaxPPE(:default, [150.0], [100.0], [50.0])
132+
getVariablePPEs(newvar)[:default] = MeanMaxPPE(:default, [150.0], [100.0], [50.0])
133133
#update
134134
mergeUpdateVariableSolverData!(dfg, newvar)
135135
#For now spot check
136136
# @test solverDataDict(newvar) == solverDataDict(var)
137-
@test estimates(newvar) == estimates(var)
137+
@test getVariablePPEs(newvar) == getVariablePPEs(var)
138138

139139
# Delete :default and replace to see if new ones can be added
140-
delete!(estimates(newvar), :default)
141-
estimates(newvar)[:second] = MeanMaxPPE(:second, [15.0], [10.0], [5.0])
140+
delete!(getVariablePPEs(newvar), :default)
141+
getVariablePPEs(newvar)[:second] = MeanMaxPPE(:second, [15.0], [10.0], [5.0])
142142

143143
# Persist to the original variable.
144144
mergeUpdateVariableSolverData!(dfg, newvar)
145145
# At this point newvar will have only :second, and var should have both (it is the reference)
146-
@test symdiff(collect(keys(estimates(var))), [:default, :second]) == Symbol[]
147-
@test symdiff(collect(keys(estimates(newvar))), [:second]) == Symbol[]
146+
@test symdiff(collect(keys(getVariablePPEs(var))), [:default, :second]) == Symbol[]
147+
@test symdiff(collect(keys(getVariablePPEs(newvar))), [:second]) == Symbol[]
148148
# Get the source too.
149-
@test symdiff(collect(keys(estimates(getVariable(dfg, :a)))), [:default, :second]) == Symbol[]
149+
@test symdiff(collect(keys(getVariablePPEs(getVariable(dfg, :a)))), [:default, :second]) == Symbol[]
150150
end
151151
end
152152

test/iifInterfaceTests.jl

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ end
152152
@test label(v1) == v1.label
153153
@test tags(v1) == v1.tags
154154
@test getTimestamp(v1) == v1.timestamp
155-
@test estimates(v1) == v1.estimateDict
155+
@test getVariablePPE(v1) == v1.estimateDict
156156
@test DistributedFactorGraphs.estimate(v1, :notfound) == nothing
157157
@test solverData(v1) === v1.solverDataDict[:default]
158158
@test getData(v1) === v1.solverDataDict[:default]
@@ -249,44 +249,44 @@ end
249249
var = getVariable(dfg, :a)
250250
#make a copy and simulate external changes
251251
newvar = deepcopy(var)
252-
estimates(newvar)[:default] = MeanMaxPPE(:default, [150.0], [100.0], [50.0])
252+
getVariablePPE(newvar)[:default] = MeanMaxPPE(:default, [150.0], [100.0], [50.0])
253253
#update
254254
mergeUpdateVariableSolverData!(dfg, newvar)
255255

256256
#Check if variable is updated
257257
var = getVariable(dfg, :a)
258-
@test estimates(newvar) == estimates(var)
258+
@test getVariablePPE(newvar) == getVariablePPE(var)
259259

260260
# Add a new estimate.
261-
estimates(newvar)[:second] = MeanMaxPPE(:second, [15.0], [10.0], [5.0])
261+
getVariablePPE(newvar)[:second] = MeanMaxPPE(:second, [15.0], [10.0], [5.0])
262262

263263
# Confirm they're different
264-
@test estimates(newvar) != estimates(var)
264+
@test getVariablePPE(newvar) != getVariablePPE(var)
265265
# Persist it.
266266
mergeUpdateVariableSolverData!(dfg, newvar)
267267
# Get the latest
268268
var = getVariable(dfg, :a)
269-
@test symdiff(collect(keys(estimates(var))), [:default, :second]) == Symbol[]
269+
@test symdiff(collect(keys(getVariablePPE(var))), [:default, :second]) == Symbol[]
270270

271271
#Check if variable is updated
272-
@test estimates(newvar) == estimates(var)
272+
@test getVariablePPE(newvar) == getVariablePPE(var)
273273

274274

275275
# Delete :default and replace to see if new ones can be added
276-
delete!(estimates(newvar), :default)
276+
delete!(getVariablePPE(newvar), :default)
277277
#confirm delete
278-
@test symdiff(collect(keys(estimates(newvar))), [:second]) == Symbol[]
278+
@test symdiff(collect(keys(getVariablePPE(newvar))), [:second]) == Symbol[]
279279
# Persist it.
280280
mergeUpdateVariableSolverData!(dfg, newvar)
281281

282282
# Get the latest and confirm they're the same, :second
283283
var = getVariable(dfg, :a)
284284

285285
# TODO issue #166
286-
@test estimates(newvar) != estimates(var)
287-
@test collect(keys(estimates(var))) == [:default, :second]
286+
@test getVariablePPE(newvar) != getVariablePPE(var)
287+
@test collect(keys(getVariablePPE(var))) == [:default, :second]
288288

289-
# @test symdiff(collect(keys(estimates(getVariable(dfg, :a)))), [:default, :second]) == Symbol[]
289+
# @test symdiff(collect(keys(getVariablePPE(getVariable(dfg, :a)))), [:default, :second]) == Symbol[]
290290
end
291291

292292
# Connectivity test

test/interfaceTests.jl

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -153,8 +153,8 @@ end
153153
@test setTimestamp!(f1, testTimestamp) == testTimestamp
154154
@test getTimestamp(f1) == f1.timestamp
155155

156-
@test estimates(v1) == v1.estimateDict
157-
@test estimate(v1, :notfound) == nothing
156+
@test getVariablePPEs(v1) == v1.estimateDict
157+
@test getVariablePPE(v1, :notfound) == nothing
158158
@test solverData(v1) === v1.solverDataDict[:default]
159159
@test getData(v1) === v1.solverDataDict[:default]
160160
@test solverData(v1, :default) === v1.solverDataDict[:default]
@@ -275,28 +275,28 @@ end
275275
var = getVariable(dfg, :a)
276276
#make a copy and simulate external changes
277277
newvar = deepcopy(var)
278-
estimates(newvar)[:default] = MeanMaxPPE(:default, [150.0], [100.0], [50.0])
278+
getVariablePPEs(newvar)[:default] = MeanMaxPPE(:default, [150.0], [100.0], [50.0])
279279
#update
280280
mergeUpdateVariableSolverData!(dfg, newvar)
281281

282282
#For now spot check
283283
@test solverDataDict(newvar) == solverDataDict(var)
284-
@test estimates(newvar) == estimates(var)
285-
@test getMaxPPE(estimates(newvar)[:default]) == estimates(newvar)[:default].max
286-
@test getMeanPPE(estimates(newvar)[:default]) == estimates(newvar)[:default].mean
287-
@test getSuggestedPPE(estimates(newvar)[:default]) == estimates(newvar)[:default].suggested
284+
@test getVariablePPEs(newvar) == getVariablePPEs(var)
285+
@test getMaxPPE(getVariablePPEs(newvar)[:default]) == getVariablePPEs(newvar)[:default].max
286+
@test getMeanPPE(getVariablePPEs(newvar)[:default]) == getVariablePPEs(newvar)[:default].mean
287+
@test getSuggestedPPE(getVariablePPEs(newvar)[:default]) == getVariablePPEs(newvar)[:default].suggested
288288

289289
# Delete :default and replace to see if new ones can be added
290-
delete!(estimates(newvar), :default)
291-
estimates(newvar)[:second] = MeanMaxPPE(:second, [15.0], [10.0], [5.0])
290+
delete!(getVariablePPEs(newvar), :default)
291+
getVariablePPEs(newvar)[:second] = MeanMaxPPE(:second, [15.0], [10.0], [5.0])
292292

293293
# Persist to the original variable.
294294
mergeUpdateVariableSolverData!(dfg, newvar)
295295
# At this point newvar will have only :second, and var should have both (it is the reference)
296-
@test symdiff(collect(keys(estimates(var))), [:default, :second]) == Symbol[]
297-
@test symdiff(collect(keys(estimates(newvar))), [:second]) == Symbol[]
296+
@test symdiff(collect(keys(getVariablePPEs(var))), [:default, :second]) == Symbol[]
297+
@test symdiff(collect(keys(getVariablePPEs(newvar))), [:second]) == Symbol[]
298298
# Get the source too.
299-
@test symdiff(collect(keys(estimates(getVariable(dfg, :a)))), [:default, :second]) == Symbol[]
299+
@test symdiff(collect(keys(getVariablePPEs(getVariable(dfg, :a)))), [:default, :second]) == Symbol[]
300300
end
301301

302302
# Connectivity test

0 commit comments

Comments
 (0)