def ct_of_ssv(self, ssv_id): """ Returns the CT for a given SSV ID. :param sv_id: :return: """ # TODO: changed to new cell type predictions, work this in everywhere ssv = self.ssd.get_super_segmentation_object(int(ssv_id)) ssv.nb_cpus = self.nb_cpus ssv.load_attr_dict() label = "" if "celltype_cnn_e3_probas" in ssv.attr_dict: # new prediction l = ssv.attr_dict["celltype_cnn_e3"] # ct_label_dc = {0: "EA", 1: "MSN", 2: "GP", 3: "INT"} # label = ct_label_dc[l] label = int2str_converter(l, gt_type='ctgt_v2') certainty = ssv.certainty_celltype() elif "celltype_cnn" in ssv.attr_dict: ct_label_dc = {0: "EA", 1: "MSN", 2: "GP", 3: "INT"} l = ssv.attr_dict["celltype_cnn"] label = ct_label_dc[l] certainty = 'nan' else: log_gate.warning("Celltype prediction not present in attribute " "dict of SSV {} at {}.".format(ssv_id, ssv.attr_dict_path)) return {'ct': label, 'certainty': certainty}
def ssv_skeleton(self, ssv_id): """ Get mesh vertices for ssv_id. :param ssv_id: int :return: dict """ self.logger.info('Loading ssv skeleton {}'.format(ssv_id)) ssv = self.ssd.get_super_segmentation_object(int(ssv_id)) ssv.nb_cpus = self.nb_cpus ssv.load_skeleton() skeleton = ssv.skeleton if skeleton is None: return {} skel_attr = ["nodes", "edges", "diameters"] pred_key_ax = "{}_avg{}".format(global_params.view_properties_semsegax['semseg_key'], global_params.DIST_AXONESS_AVERAGING) keys = [ # "axoness_avg{}".format(avg_dst), # "axoness_avg{}_comp_maj".format(avg_dst), global_params.view_properties_semsegax['semseg_key'], pred_key_ax, 'myelin_avg10000', # TODO: use global_params.py value ! 'myelin', # TODO: use global_params.py value ! "axoness_k{}".format(global_params.map_properties_semsegax['k']), "axoness_k{}_comp_maj".format(global_params.map_properties_semsegax['k'])] for k in keys: if k in skeleton: skel_attr.append(k) if type(skeleton[k]) is list: skeleton[k] = np.array(skeleton[k]) else: log_gate.warning("Couldn't find requested key in " "skeleton '{}'. Existing keys: {}".format(k, skeleton.keys())) return {k: skeleton[k].flatten().tolist() for k in skel_attr}