-
Alexis SALZMAN authored
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 resolution. 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 destruction. 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 functions. 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.
f191a539