2 new fmeik functions are now available in FM.h sequential header.
They have one or two new arguments compare to previous simplest version.
These arguments are the "flux" graph that FM computes during its
The first one is flux_from argument that is optional. It is always
constructed by FM internal function. But it may be a temporary and not
passed to fmeik. fmeik is then in charge of its creation and
The second one is flux_to argument which represent the graph of the flux
devised by the FM to update the level set. It can be use by the user to
transport any information from any vertex (source or not). It gives the
sources and well of the computed flux. This graph is stored in
xgraph::nodeTo graph structure.
The attached data to graph nodes are the gradient computed by the FM
at corresponding vertex. No attached data means no gradient which means
that it is a source node in the graph. No outgoing graph edges for a
graph node means that it is a well.
This set of function may replace old ones as flux_to gives gradients and
a way to compute transported information. Compare to original version
those versions offer a more clear "Gama in/source" treatment. User still
gives the set of know and volatile known seed to FM. But in one pass the
flux is correctly computed taking into account naturally "Gama
in/source" modified by FM. As transported information will now be
computed out of this flux graph there is no need to recompute FM to
obtain correct transported values in this context.
From an implementation point of view a new internal fmeikFlux and
FMupdaterFlux are coded. They are different compare to their non flux
counterpart as they create flux graph and treat "Gama in/source"
differently. In future some factoring may merge flux and non flux
All those new elements are under macro HAVE_XGRAPH control. If this
macro is not set the xFastmarching library do not depend on xGraph
library and those new fmeik version are not available.