def getBoundingCEllipsoidVol(self, transformedCP, ET=None, retA=False): """Return the volume of the minimum bounding coverage ellipsoid""" if ET is None: ET = EllipsoidTool() (A, center, radii, _rotation) = self.getBoundingEllipsoid(transformedCP, ET=ET, retA=True) if retA: return ((A, center), ET.getEllipsoidVolume(radii)) else: return ET.getEllipsoidVolume(radii)
def getBoundingKEllipseArea(self, KPCAs, ET=None, retA=False): """Return the area of the minimum bounding kmer PCA ellipse""" if len(KPCAs) > 1: if ET is None: ET = EllipsoidTool() (A, center, radii, _rotation) = ET.getMinVolEllipse(KPCAs, retA=True) if retA: return ((A, center), ET.getEllipsoidVolume(radii)) else: return ET.getEllipsoidVolume(radii) else: # minimum bounding ellipse of a point is 0 if retA: return ((np.zeros((2,2)), KPCAs[0]), 0) else: return 0
def getBoundingKEllipseArea(self, KPCAs, ET=None, retA=False): """Return the area of the minimum bounding kmer PCA ellipse""" if len(KPCAs) > 1: if ET is None: ET = EllipsoidTool() (A, center, radii, _rotation) = ET.getMinVolEllipse(KPCAs, retA=True) if retA: return ((A, center), ET.getEllipsoidVolume(radii)) else: return ET.getEllipsoidVolume(radii) else: # minimum bounding ellipse of a point is 0 if retA: return ((np.zeros((2, 2)), KPCAs[0]), 0) else: return 0