Returns the symmetry measures for a set of permutations (whose setup depends on the coordination geometry)
        for the coordination geometry "coordination_geometry". Standard implementation looking for the symmetry
        measures of each permutation

        :param coordination_geometry: The coordination geometry to be investigated
        :return: The symmetry measures for the given coordination geometry for each permutation investigated

def coordination_geometry_symmetry_measures_standard(self,
                                                         coordination_geometry,
                                                         algo,
                                                         points_perfect=None,
                                                         optimization=None):
        """
        Returns the symmetry measures for a set of permutations (whose setup depends on the coordination geometry)
        for the coordination geometry "coordination_geometry". Standard implementation looking for the symmetry
        measures of each permutation

        :param coordination_geometry: The coordination geometry to be investigated
        :return: The symmetry measures for the given coordination geometry for each permutation investigated
        """
        # permutations_symmetry_measures = np.zeros(len(algo.permutations),
        #                                           np.float)
        if optimization == 2:
            permutations_symmetry_measures = [None] * len(algo.permutations)
            permutations = list()
            algos = list()
            local2perfect_maps = list()
            perfect2local_maps = list()
            for iperm, perm in enumerate(algo.permutations):

                local2perfect_map = {}
                perfect2local_map = {}
                permutations.append(perm)
                for iperfect, ii in enumerate(perm):
                    perfect2local_map[iperfect] = ii
                    local2perfect_map[ii] = iperfect
                local2perfect_maps.append(local2perfect_map)
                perfect2local_maps.append(perfect2local_map)

                points_distorted = self.local_geometry.points_wcs_ctwcc(
                    permutation=perm)

                sm_info = symmetry_measure(points_distorted=points_distorted,
                                              points_perfect=points_perfect)
                sm_info['translation_vector'] = self.local_geometry.centroid_with_centre

                permutations_symmetry_measures[iperm] = sm_info
                algos.append(str(algo))
            return permutations_symmetry_measures, permutations, algos, local2perfect_maps, perfect2local_maps
        else:
            permutations_symmetry_measures = [None] * len(algo.permutations)
            permutations = list()
            algos = list()
            local2perfect_maps = list()
            perfect2local_maps = list()
            for iperm, perm in enumerate(algo.permutations):

                local2perfect_map = {}
                perfect2local_map = {}
                permutations.append(perm)
                for iperfect, ii in enumerate(perm):
                    perfect2local_map[iperfect] = ii
                    local2perfect_map[ii] = iperfect
                local2perfect_maps.append(local2perfect_map)
                perfect2local_maps.append(perfect2local_map)

                points_distorted = self.local_geometry.points_wcs_ctwcc(
                    permutation=perm)

                sm_info = symmetry_measure(points_distorted=points_distorted,
                                           points_perfect=points_perfect)
                sm_info['translation_vector'] = self.local_geometry.centroid_with_centre

                permutations_symmetry_measures[iperm] = sm_info
                algos.append(str(algo))
            return permutations_symmetry_measures, permutations, algos, local2perfect_maps, perfect2local_maps