@@ -227,16 +227,36 @@ setVariableInferDim!(vari::DFGVariable, val::Real) = setVariableInferDim!(getSol
227227# # ==============================================================================================
228228
229229
230- function setValKDE! (vd :: VariableNodeData ,
231- p:: ManifoldKernelDensity ,
230+ function setValKDE! (vnd :: VariableNodeData ,
231+ p:: ManifoldKernelDensity{M,B,Nothing} ,
232232 setinit:: Bool = true ,
233- inferdim:: Union{Float32, Float64, Int32, Int64} = 0 )
233+ inferdim:: Union{Float32, Float64, Int32, Int64} = 0 ) where {M,B}
234234 #
235- ptsArr = AMP . getPoints (p)
236- # @show typeof(ptsArr)
237- # @cast ptsArr[j][i] := pts[i,j]
235+ # L==Nothing means no partials
236+ ptsArr = AMP . getPoints (p) # , false) # for not partial
237+ # also set the bandwidth
238238 bws = getBW (p)[:,1 ]
239- setValKDE! (vd,ptsArr,bws,setinit,inferdim )
239+ setValKDE! (vnd,ptsArr,bws,setinit,inferdim )
240+ nothing
241+ end
242+
243+
244+ function setValKDE! (vnd:: VariableNodeData ,
245+ mkd:: ManifoldKernelDensity{M,B,L} ,
246+ setinit:: Bool = true ,
247+ inferdim:: Union{Float32, Float64, Int32, Int64} = 0 ) where {M,B,L<: AbstractVector }
248+ #
249+ oldbel = getBelief (vnd)
250+ # Set partial dims as Manifold points
251+ ptsArr = AMP. getPoints (mkd, false )
252+ oldPts = getVal (vnd)
253+ # get partial coord dims
254+ pvec = mkd. _partial
255+
256+ # also set the bandwidth
257+ bws = getBW (mkd)[:,1 ]
258+ bw_ = getBW
259+ setValKDE! (vnd,ptsArr,bws,setinit,inferdim )
240260 nothing
241261end
242262
@@ -809,7 +829,7 @@ function doautoinit!( dfg::AbstractDFG,
809829 @info " do init of $vsym "
810830 end
811831 # FIXME ensure a product of only partial densities and returned pts are put to proper dimensions
812- pts ,inferdim = predictbelief (dfg, vsym, useinitfct, solveKey= solveKey, logger= logger)
832+ bel ,inferdim = proposalBelief (dfg, vsym, useinitfct, solveKey= solveKey, logger= logger)
813833 setValKDE! (xi, pts, true , inferdim, solveKey= solveKey)
814834 # Update the estimates (longer DFG function used so cloud is also updated)
815835 setVariablePosteriorEstimates! (dfg, xi. label, solveKey)
@@ -1379,7 +1399,7 @@ end
13791399
13801400Get KernelDensityEstimate kde estimate stored in variable node.
13811401"""
1382- getBelief (vnd:: VariableNodeData ) = manikde! (getVal (vnd), getBW (vnd)[:,1 ], getVariableType (vnd) )
1402+ getBelief (vnd:: VariableNodeData ) = manikde! (getManifold ( getVariableType (vnd)), getVal (vnd), bw = getBW (vnd)[:,1 ] )
13831403
13841404getBelief (v:: DFGVariable , solvekey:: Symbol = :default ) = getBelief (getSolverData (v, solvekey))
13851405getBelief (dfg:: AbstractDFG , lbl:: Symbol , solvekey:: Symbol = :default ) = getBelief (getVariable (dfg, lbl), solvekey)
0 commit comments