コード例 #1
0
ファイル: transformer.py プロジェクト: macrintr/DataProvider
 def __call__(self, sample):
     """Affinity label processing."""
     seg = sample[self.source]
     msk = get_mask(sample, self.source)
     affs = list()
     msks = list()
     # Affinitize.
     for dst in self.dst:
         affs.append(tf.affinitize1(seg, dst=dst))
         msks.append(tf.affinitize1_mask(msk, dst=dst))
     aff = np.concatenate(affs, axis=0)
     msk = np.concatenate(msks, axis=0)
     # Rebalancing.
     if self.rebalance:
         for c in xrange(aff.shape[0]):
             msk[c, ...] *= tf.rebalance_binary_class(aff[c, ...],
                                                      msk=msk[c, ...])
     # Update sample.
     sample[self.target] = aff
     sample[self.target + '_mask'] = msk
     # Crop.
     if self.crop is not None:
         for k, v in sample.iteritems():
             sample[k] = tf.crop(v, offset=self.crop)
     return sample
コード例 #2
0
ファイル: transformer.py プロジェクト: macrintr/DataProvider
 def __call__(self, sample):
     """Synapse label processing."""
     syn = sample[self.source]
     # Binarize.
     lbl = tf.binarize(syn)
     msk = get_mask(sample, self.source)
     # Rebalancing.
     if self.rebalance:
         msk = tf.rebalance_binary_class(lbl, msk, base_w=self.base_w)
     # Update sample.
     sample[self.target] = lbl
     sample[self.target + '_mask'] = msk
     return sample
コード例 #3
0
ファイル: transformer.py プロジェクト: macrintr/DataProvider
 def __call__(self, sample):
     """Semantic label processing."""
     sem = sample[self.source]
     # Semantic class expansion.
     lbl, msk = tf.multiclass_expansion(sem, ids=self.ids)
     # Combine with a given mask.
     msk *= get_mask(sample, self.source)
     # Rebalancing.
     if self.rebalance:
         for i, _ in enumerate(self.ids):
             msk[i,
                 ...] = tf.rebalance_binary_class(lbl[i, ...], msk[i, ...])
     # Update sample.
     sample[self.target] = lbl
     sample[self.target + '_mask'] = msk
     return sample