Before revision:  CSD starts by partitioning the curve skeleton of a tubular object into maximal-length sub-skeletons , minimizing an orientation objective. Each sub-skeleton corresponds to a semantic component.
After revision:  CSD starts by partitioning the curve skeleton of a tubular object into maximal-length sub-skeletons over an orientation function, each sub-skeleton corresponds to a semantic component.