def HardChoiceIso(id_dds, norm_percentile, factor): """ Instantiates the given DDS and changes it. """ config = get_diffeo2dds_config() dds = config.discdds.instance(id_dds) ddst = make_hard_choices(dds, info_threshold=None, use_isomorphism_heuristics=True, norm_percentile=norm_percentile, factor=factor) return ddst
def DDSFromSymbolic(resolution, symdiffeosystem): # @UnusedVariable """ Creates a DiffeoSystem from synthetic diffeomorphisms. """ diffeo2s_config = get_diffeo2s_config() diffeo2dds_config = get_diffeo2dds_config() _, symdds = diffeo2dds_config.symdds.instance_smarter(symdiffeosystem) logger.info('Creating symbolic diffeomorphism (resolution = %d)' % resolution) diffeoactions = [] for _, action in enumerate(symdds.actions): id_diffeo, diffeo = parse_diffeo_spec(diffeo2s_config, action['diffeo']) label = action.get('label', id_diffeo) original_cmd = np.array(action['original_cmd']) logger.info('Getting symbolic diffeomorphism %r' % id_diffeo) shape = (resolution, resolution) viewport = SquareDomain([[-1, +1], [-1, +1]]) manifold = diffeo.get_topology() D, Dinfo = diffeo_from_function_viewport(diffeo, manifold, viewport, shape) D2d = Diffeomorphism2D(D, Dinfo) diffeo_inv = diffeo.get_inverse() D_inv, Dinfo_inv = \ diffeo_from_function_viewport(diffeo_inv, manifold, viewport, shape) D2d_inv = Diffeomorphism2D(D_inv, Dinfo_inv) action = DiffeoAction(label=label, diffeo=D2d, diffeo_inv=D2d_inv, original_cmd=original_cmd) diffeoactions.append(action) dds = DiffeoSystem('unnamed', actions=diffeoactions) return dds
def go(self): outdir = self.options.output which = self.options.get_extra() diffeo2dds_config = get_diffeo2dds_config() if not which: todo = diffeo2dds_config.discdds.keys() else: todo = diffeo2dds_config.discdds.expand_names(which) id_image = self.options.image image = UncertainImage(diffeo2dds_config.images.instance(id_image)) for id_dds in todo: self.info("Writing %s" % id_dds) dds = diffeo2dds_config.discdds.instance(id_dds) report = Report(id_dds) dds.display(report, image=image) write_report_files(report, basename=os.path.join(outdir, id_dds))
def go(self): outdir = self.options.output which = self.options.get_extra() diffeo2dds_config = get_diffeo2dds_config() if not which: todo = diffeo2dds_config.discdds.keys() else: todo = diffeo2dds_config.discdds.expand_names(which) id_image = self.options.image image = UncertainImage(diffeo2dds_config.images.instance(id_image)) for id_dds in todo: self.info('Writing %s' % id_dds) dds = diffeo2dds_config.discdds.instance(id_dds) report = Report(id_dds) dds.display(report, image=image) write_report_files(report, basename=os.path.join(outdir, id_dds))
def __init__(self, image_stream, discdds): ''' :param discdds: Which DDS dynamics to use. :param image_stream: What ImageStream to use. Each image is used to start a new episode. ''' diffeo2ddslearn_config = get_diffeo2ddslearn_config() self.id_image_stream, self.image_stream = \ diffeo2ddslearn_config.image_streams.instance_smarter(image_stream) if self.id_image_stream is None: self.id_image_stream = 'image_stream' diffeo2dds_config = get_diffeo2dds_config() self.id_discdds, self.discdds = \ diffeo2dds_config.discdds.instance_smarter(discdds) if self.id_discdds is None: self.id_discdds = 'discdds' self.shape = None