Exemplo n.º 1
0
 def reduce_to_leaves(self, id=''):
     """
     create a  new set of rois which are only the leaves of self
     """
     isleaf = Forest(self.k, self.parents).isleaf()
     label = self.label.copy()
     label[isleaf[self.label]==0] = -1
     k = np.sum(isleaf.astype(np.int))
     if self.k==0:
         return HierarchicalROI(self.domain, label, np.array([]), id)
     
     parents = np.arange(k)
     nroi = HierarchicalROI(self.domain, label, parents, id)
         
     # now copy the features
     fids = self.features.keys()
     for fid in fids:
         df = [self.features[fid][k] for k in range(self.k) if isleaf[k]]
         nroi.set_feature(fid, df)
     return nroi