@@ -265,10 +265,23 @@ function calcProposalBelief(dfg::AbstractDFG,
265265 #
266266
267267 # density passed through directly from PartialPriorPassThrough.Z
268- proposal = getFactorType (fct). Z. densityFnc
268+ fctFnc = getFactorType (fct)
269+ proposal = fctFnc. Z. densityFnc
270+
271+ # in case of partial, place the proposal into larger marginal/partial MKD
272+ proposal_ = if isPartial (fctFnc)
273+ # oldbel = getBelief(dfg, target, solveKey)
274+ varType = getVariableType (dfg, target)
275+ M = getManifold (varType)
276+ u0 = getPointIdentity (varType)
277+ # replace(oldbel, proposal)
278+ antimarginal (M,u0,proposal,Int[fctFnc. partial... ])
279+ else
280+ proposal
281+ end
269282
270283 # return the proposal belief and inferdim, NOTE likely to be changed
271- return proposal
284+ return proposal_
272285end
273286
274287"""
@@ -287,7 +300,7 @@ function proposalbeliefs!(dfg::AbstractDFG,
287300 # partials::Dict{Any, Vector{ManifoldKernelDensity}}, # TODO change this structure
288301 measurement:: Tuple = (Vector {Vector{Float64}} (),);
289302 solveKey:: Symbol = :default ,
290- N:: Int = maximum ([length (getPoints (getBelief (dfg, destlbl, solveKey))); getSolverParams (dfg). N]),
303+ N:: Int = getSolverParams (dfg) . N, # maximum([length(getPoints(getBelief(dfg, destlbl, solveKey))); getSolverParams(dfg).N]),
291304 dbg:: Bool = false )
292305 #
293306
@@ -302,7 +315,7 @@ function proposalbeliefs!(dfg::AbstractDFG,
302315 inferd = getFactorSolvableDim (dfg, fct, destlbl, solveKey)
303316 # convolve or passthrough to get a new proposal
304317 propBel_ = calcProposalBelief (dfg, fct, destlbl, measurement, N= N, dbg= dbg, solveKey= solveKey)
305- # @show propBel_.manifold
318+ # @show propBel_.manifold, isPartial(propBel_)
306319 # partial density
307320 propBel = if isPartial (ccwl)
308321 pardims = _getDimensionsPartial (ccwl)
0 commit comments