Space colonization methods#

openalea.plantscan3d.sca.adaptivespacecolonization_method(mtg, startfrom, pointList, densities, mingrowthlength, maxgrowthlength, growthlengthfunc, killradiusratio, perceptionradiusratio, min_nb_pt_per_bud, filter_short_branch=False, angle_between_trunk_and_lateral=60)[source]#

Reconstruct a tree skeleton using adaptive space colonization with density-dependent growth.

Parameters:
  • mtg (openalea.mtg.MTG) – MTG object to add the reconstructed tree to.

  • startfrom (int) – Starting node id in the MTG.

  • pointList (list of Vector3) – Input point cloud.

  • densities (list of float) – Density values per point for adaptive growth length.

  • mingrowthlength (float) – Minimum growth length.

  • maxgrowthlength (float) – Maximum growth length.

  • growthlengthfunc (callable) – Function mapping normalised density to a growth length factor.

  • killradiusratio (float) – Ratio of growth length for the kill radius.

  • perceptionradiusratio (float) – Ratio of growth length for the perception radius.

  • min_nb_pt_per_bud (int) – Minimum number of points per bud.

  • filter_short_branch (bool) – If True, remove branches with no children.

  • angle_between_trunk_and_lateral (float) – Angle threshold in degrees for edge type determination.

Returns:

MTG of the reconstructed tree.

Return type:

openalea.mtg.MTG

openalea.plantscan3d.sca.spacecolonization_method(mtg, startfrom, pointList, growthlength, killradiusratio, perceptionradiusratio, min_nb_pt_per_bud, filter_short_branch=False, angle_between_trunk_and_lateral=60)[source]#

Reconstruct a tree skeleton using space colonization.

Parameters:
  • mtg (openalea.mtg.MTG) – MTG object to add the reconstructed tree to.

  • startfrom (int) – Starting node id in the MTG.

  • pointList (list of Vector3) – Input point cloud.

  • growthlength (float) – Growth length for each iteration.

  • killradiusratio (float) – Ratio of growth length for the kill radius.

  • perceptionradiusratio (float) – Ratio of growth length for the perception radius.

  • min_nb_pt_per_bud (int) – Minimum number of points per bud.

  • filter_short_branch (bool) – If True, remove branches with no children.

  • angle_between_trunk_and_lateral (float) – Angle threshold in degrees for edge type determination.

Returns:

MTG of the reconstructed tree.

Return type:

openalea.mtg.MTG