def render_strokes(strokes, blur=0.5, blur_fsize=11): assert (blur_fsize in np.arange(1, 102)) and (blur_fsize % 2 == 1) ps = Parameters() ps.fsize = blur_fsize pimg, _ = render_image(strokes, epsilon=0., blur_sigma=blur, ps=ps) return pimg
def __init__(self, blur_sigma=0.5, epsilon=0., blur_fsize=None, PM=None): super().__init__() if PM is None: PM = Parameters() self.painter = Painter(PM) self.broaden_and_blur = BroadenAndBlur(blur_sigma, epsilon, blur_fsize, PM)
def __init__(self, PM=None): super().__init__() if PM is None: PM = Parameters() self.register_buffer('ink_pp', PM.ink_pp) self.register_buffer('ink_max_dist', PM.ink_max_dist) self.register_buffer('index_mat', torch.arange(PM.imsize[0]*PM.imsize[1]).view(PM.imsize)) self.register_buffer('space_flip', torch.tensor([-1.,1.])) self.imsize = PM.imsize
def __init__(self, blur_sigma=0.5, epsilon=0., blur_fsize=None, PM=None): super().__init__() if PM is None: PM = Parameters() if blur_fsize is None: blur_fsize = PM.fsize assert blur_fsize % 2 == 1, 'blur conv filter size must be odd' self.register_buffer('H_broaden', broaden_filter(PM.ink_a, PM.ink_b)) self.register_buffer('H_blur', blur_filter(blur_fsize, blur_sigma)) self.nbroad = PM.ink_ncon self.blur_pad = blur_fsize//2 self.blur_sigma = blur_sigma self.blur_fsize = blur_fsize self.epsilon = epsilon
def render_strokes_small(strokes, blur=0.): """ Use this version for (28,28) images """ # set parameters ps = Parameters() ps.imsize = (28, 28) ps.ink_ncon = 1 ps.ink_a = 0.5 ps.ink_b = 1.5 # update strokes strokes = [(28 / 105) * stk for stk in strokes] # render image pimg, _ = render_image(strokes, epsilon=0., blur_sigma=blur, ps=ps) return pimg