Esempio n. 1
0
void ZDvidSynapse::updatePartnerProperty(ZDvidReader &reader)
{
  m_isPartnerVerified.resize(m_partnerHint.size(), false);
  m_partnerKind.resize(m_partnerHint.size(), EKind::KIND_UNKNOWN);
  m_partnerStatus.resize(m_partnerHint.size(), STATUS_NORMAL);

  if (reader.good()) {
    for (size_t i = 0; i < m_partnerHint.size(); ++i) {
      ZDvidSynapse synapse =
          reader.readSynapse(m_partnerHint[i], flyem::EDvidAnnotationLoadMode::PARTNER_LOCATION);
      if (synapse.isValid()) {
        if (synapse.hasPartner(getPosition())) {
          m_isPartnerVerified[i] = synapse.isVerified();
          m_partnerKind[i] = synapse.getKind();
          m_partnerStatus[i] = synapse.getStatus();
        }/* else {
          LWARN() << "Inconsistent synapse link:" << getPosition().toString()
                  << "->" << synapse.getPosition().toString();
        }*/
      } else {
        m_isPartnerVerified[i] = false;
        m_partnerKind[i] = ZDvidSynapse::EKind::KIND_INVALID;
      }
    }
  }
}