@classmethod
def from_skeleton_factory(cls, skeleton, head=None, tail=None):
    """
        A factory method taking the simplest possible input: just a skeleton.
        Assumes 0th point is head, n-1th point is tail. No contour.

        Parameters
        ----------
        skeleton : list of ndarray or ndarray
            If ndarray, we are in the simpler "homocardinal" case
            If list of ndarray, each frame can have a varying number of points
        head: ndarray containing the position of the head.
        tail: ndarray containing the position of the tail.

        """
    uow = cls()
    uow.skeleton = skeleton
    if tail is None:
        uow.tail = skeleton[(0), :, :]
    else:
        uow.tail = tail
    if head is None:
        uow.head = skeleton[(-1), :, :]
    else:
        uow.head = head
    return uow
