예제 #1
0
def hook_tkinter(finder, module):
    """Recusively copy tcl and tk directories"""
    from tkinter import Tcl
    from _tkinter import TK_VERSION
    tcl_dir = os.path.normpath(Tcl().eval("info library"))
    assert os.path.isdir(tcl_dir)
    finder.add_datadirectory("lib/tcl", tcl_dir, recursive=True)
    tk_dir = os.path.join(os.path.dirname(tcl_dir), 'tk{}'.format(TK_VERSION))
    assert os.path.isdir(tk_dir)
    finder.add_datadirectory("lib/tk", tk_dir, recursive=True)
    if sys.version_info >= (3, 6, 0):
        finder.import_hook("imp")

    # add environment variables that point to the copied paths at runtime
    finder.add_bootcode("""
def tk_env_paths():
    import os
    import sys
    import _tkinter
    basepath = os.path.dirname(sys.executable)
    tcl_dir = os.path.join(basepath, 'lib', 'tcl')
    tk_dir = os.path.join(basepath, 'lib', 'tk')
    os.environ["TCL_LIBRARY"] = tcl_dir
    os.environ["TK_LIBRARY"] = tk_dir

tk_env_paths()
del tk_env_paths
""")
예제 #2
0
def tcl_interp():
    """
    create a new Tcl interpreter with the standard packages loaded

    TESTS::

        sage: from yacop.utils.tcl import tcl_interp, tcl_eval
        sage: tcl = tcl_interp()
        sage: tcl.eval("package present sqlite3") # random
        3.8.2
    """
    tcl = Tcl()
    xdirs = Yacop.tcllibrary
    if not xdirs is None:
        if not isinstance(xdirs, list):
            xdirs = [xdirs]
            [tcl.eval("lappend auto_path {%s}" % path) for path in xdirs]
    tcl.eval(
        """
        lappend auto_path $::env(SAGE_LOCAL)/tcl/lib
        lappend auto_path $::env(SAGE_LOCAL)/lib
        package require yacop::sage 1.0
            """
    )
    return tcl
예제 #3
0
    def __init__(self, sim_dir, fn_root, **kwargs):
        rms = kwargs.get('rms', False)
        down = kwargs.get('downsample', 1)
        self.sim_dir = sim_dir
        datp_dir = os.path.join(sim_dir, 'datp')
        rotation = kwargs.get('rotation', 0)
        self.rot = rotation / 180 * np.pi
        self.length_scale = kwargs.get('length_scale', 96)
        # Find what you're looking for
        fns = [fn for fn in os.listdir(datp_dir) if fn.startswith(fn_root) and fn.endswith('.pvti')]
        # Sort files
        fns = Tcl().call('lsort', '-dict', fns)

        if len(fns) > 1:
            print("More than one fn with this name. Taking time average.")
            # Store snapshots of field
            self.snaps = []
            for fn in fns[::down]:
                snap = vti_to_mesh(os.path.join(datp_dir, fn), self.length_scale)
                self.snaps.append(snap)
            del snap
            # Time average the flow field snaps
            mean_t = np.mean(np.array(self.snaps).T, axis=1)
            self.X, self.Y = mean_t[0:2]
            self.u, self.v, self.w = mean_t[2:-1]
            self.U, self.V = np.mean(self.u, axis=2), np.mean(self.v, axis=2)
            self.p = np.mean(mean_t[-1], axis=0)
            del mean_t
        else:
            # assert (len(fns) > 0), 'You dont have '+fn_root+'.pvtr in your datp folder'
            self.X, self.Y, self.U, self.V, self.W, self.p = vti_to_mesh(os.path.join(datp_dir, fns[0]),
                                                                         self.length_scale)
            self.U, self.V = np.squeeze(self.U), np.squeeze(self.V)
            self.p = np.squeeze(self.p)
예제 #4
0
    def __init__(self, path, img_size=640):
        p = str(Path(path))  # os-agnostic
        p = os.path.abspath(p)  # absolute path
        if '*' in p:
            files = sorted(glob.glob(p, recursive=True))  # glob
        elif os.path.isdir(p):
            files = Tcl().call('lsort', '-dict',
                               glob.glob(os.path.join(p, '*.*')))

        elif os.path.isfile(p):
            files = [p]  # files
        else:
            raise Exception('ERROR: %s does not exist' % p)

        images = [x for x in files if x.split('.')[-1].lower() in img_formats]
        videos = [x for x in files if x.split('.')[-1].lower() in vid_formats]
        ni, nv = len(images), len(videos)

        self.img_size = img_size
        self.files = images + videos
        self.nf = ni + nv  # number of files
        self.video_flag = [False] * ni + [True] * nv
        self.mode = 'images'
        if any(videos):
            self.new_video(videos[0])  # new video
        else:
            self.cap = None
        assert self.nf > 0, 'No images or videos found in %s. Supported formats are:\nimages: %s\nvideos: %s' % \
                            (p, img_formats, vid_formats)
예제 #5
0
파일: hooks.py 프로젝트: guriben/py2exe
def hook_tkinter(finder, module):
    """Recusively copy tcl and tk directories"""
    from tkinter import Tcl
    from _tkinter import TK_VERSION
    tcl_dir = os.path.normpath(Tcl().eval("info library"))
    assert os.path.isdir(tcl_dir)
    finder.add_datadirectory("lib/tcl", tcl_dir, recursive=True)
    tk_dir = os.path.join(os.path.dirname(tcl_dir), 'tk{}'.format(TK_VERSION))
    assert os.path.isdir(tk_dir)
    finder.add_datadirectory("lib/tk", tk_dir, recursive=True)
    finder.set_min_bundle("tkinter", 2)
    if sys.version_info >= (3, 6, 0):
        finder.import_hook("imp")
    # import DLLs
    tk_ver = TK_VERSION.replace('.', '')
    import glob
    for dll_search in ["tcl" + tk_ver + "*.dll", "tk" + tk_ver + "*.dll"]:
        for dll_path in glob.glob(
                os.path.join(sys.base_prefix, "DLLs", dll_search)):
            dll_name = os.path.basename(dll_path)
            finder.add_dll(dll_path)
    # add environment variables that point to the copied paths at runtime
    finder.add_bootcode("""
def tk_env_paths():
    import os
    tcl_dir = os.path.join(os.getcwd(), 'lib', 'tcl')
    tk_dir = os.path.join(os.getcwd(), 'lib', 'tk')
    os.environ["TCL_LIBRARY"] = tcl_dir
    os.environ["TK_LIBRARY"] = tk_dir

tk_env_paths()
del tk_env_paths
""")
예제 #6
0
def get_nlast_images(nb_images):
    imgs_list_full_dir = f"{ROOT_DIR}/_tmp/full/"
    os.chdir(imgs_list_full_dir)

    images_taken = glob.glob('*.JPG')
    images_taken.extend(glob.glob('*.jpeg'))
    images_taken.extend(glob.glob('*.jpg'))
    images_taken_sorted = Tcl().call('lsort', '-dict', images_taken)

    return images_taken_sorted if nb_images == -1 else images_taken_sorted[-nb_images:]
예제 #7
0
 def testLoadTk(self):
     import os
     if 'DISPLAY' not in os.environ:
         # skipping test of clean upgradeability
         return
     tcl = Tcl()
     self.assertRaises(TclError, tcl.winfo_geometry)
     tcl.loadtk()
     self.assertEqual('1x1+0+0', tcl.winfo_geometry())
     tcl.destroy()
예제 #8
0
def get_tk_patchlevel():
    global _tk_patchlevel
    if _tk_patchlevel is None:
        tcl = Tcl()
        patchlevel = []
        for x in tcl.call('info', 'patchlevel').split('.'):
            try:
                x = int(x, 10)
            except ValueError:
                x = -1
            patchlevel.append(x)
        _tk_patchlevel = tuple(patchlevel)
    return _tk_patchlevel
예제 #9
0
파일: test_tcl.py 프로젝트: wataash/cpython
def get_tk_patchlevel():
    global _tk_patchlevel
    if _tk_patchlevel is None:
        tcl = Tcl()
        patchlevel = tcl.call('info', 'patchlevel')
        m = re.fullmatch(r'(\d+)\.(\d+)([ab.])(\d+)', patchlevel)
        major, minor, releaselevel, serial = m.groups()
        major, minor, serial = int(major), int(minor), int(serial)
        releaselevel = {'a': 'alpha', 'b': 'beta', '.': 'final'}[releaselevel]
        if releaselevel == 'final':
            _tk_patchlevel = major, minor, serial, releaselevel, 0
        else:
            _tk_patchlevel = major, minor, 0, releaselevel, serial
    return _tk_patchlevel
예제 #10
0
 def testLoadTkFailure(self):
     old_display = None
     if sys.platform.startswith(('win', 'darwin', 'cygwin')):
         return
     with test_support.EnvironmentVarGuard() as env:
         if 'DISPLAY' in os.environ:
             del env['DISPLAY']
             with os.popen('echo $DISPLAY') as pipe:
                 display = pipe.read().strip()
             if display:
                 return
         tcl = Tcl()
         self.assertRaises(TclError, tcl.winfo_geometry)
         self.assertRaises(TclError, tcl.loadtk)
예제 #11
0
def cards():
    path = f"{ROOT_DIR}/_tmp/cards"
    os.chdir(path)

    images_taken = glob.glob('*.JPG')
    images_taken.extend(glob.glob('*.jpeg'))
    images_taken.extend(glob.glob('*.jpg'))

    images_taken_sorted = Tcl().call('lsort', '-dict', images_taken)
    images_taken_sorted = list(reversed(images_taken_sorted))

    return render_template('cards.html',
                           images_list=images_taken_sorted,
                           classes=generate_grid_classes(
                               len(images_taken_sorted)))
예제 #12
0
 def animate(self, folder, **kwargs):
     for idx, snap in enumerate(self.snaps):
         dat = np.array(snap).T
         plot_2D_fp_isocontours(dat, 'mag', folder + str(idx) + '.png',
                                **kwargs)
     # Sort filenames to make sure they're in order
     fn_images = os.listdir(folder)
     fn_images = Tcl().call('lsort', '-dict', fn_images)
     images = []
     for filename in fn_images:
         images.append(imageio.imread(os.path.join(folder, filename)))
     imageio.mimsave(folder + '/flow.gif',
                     images,
                     duration=0.2,
                     bitrate=1000)
예제 #13
0
    def __init__(self, sim_dir, fn_root, **kwargs):
        rms = kwargs.get('rms', False)
        down = kwargs.get('downsample', 1)
        self.sim_dir = sim_dir
        datp_dir = os.path.join(sim_dir, 'datp')
        rotation = kwargs.get('rotation', 0)
        self.rot = 0
        self.length_scale = kwargs.get('length_scale', 96)
        # Find what you're looking for
        fns = [
            fn for fn in os.listdir(datp_dir)
            if fn.startswith(fn_root) and fn.endswith('.pvtr')
        ]
        # Sort files
        fns = Tcl().call('lsort', '-dict', fns)

        if len(fns) > 1:
            print("More than one fn with this name. Taking time average.")
            # Store snapshots of field
            self.snaps = []
            for fn in fns[::down]:
                snap = vtr_to_mesh(os.path.join(datp_dir, fn),
                                   self.length_scale)
                self.snaps.append(snap)
            del snap
            # Time average the flow field snaps
            mean_t = np.mean(np.array(self.snaps).T, axis=1)
            self.X, self.Y = mean_t[0:2]
            self.u, self.v, self.w = mean_t[2:-1]
            self.U, self.V = np.mean(self.u, axis=2), np.mean(self.v, axis=2)
            self.p = np.mean(mean_t[-1], axis=0)
            del mean_t
        else:
            assert (len(fns) > 0
                    ), 'You dont have ' + fn_root + '.pvtr in your datp folder'
            self.X, self.Y, self.U, self.V, self.W, self.p = vtr_to_mesh(
                os.path.join(datp_dir, fns[0]), self.length_scale)
            self.U, self.V = np.squeeze(self.U), np.squeeze(self.V)
            self.p = np.squeeze(self.p)
        self.z = np.ones(np.shape(self.X))
        # --- Unpack mean flow quantities ---
        names = kwargs.get('names', [
            't', 'dt', 'px', 'py', 'pz', 'vx', 'vy', 'vz', 'v2x', 'v2y', 'v2z'
        ])
        fos = (io.unpack_flex_forces(os.path.join(self.sim_dir, 'fort.9'),
                                     names))
        self.fos = dict(zip(names, fos))
예제 #14
0
def generate_corpus(txt_dirs):

    for txt_dir in txt_dirs:

        corpus_full_path = txt_dir + '/corpus.txt'

        if path.exists(corpus_full_path):
            print('Corpus exists, returning...')
            continue

        with open(corpus_full_path, 'w+') as corpus:
            # Need to preserve order
            for file in Tcl().call('lsort', '-dict', os.listdir(txt_dir)):
                full_path = txt_dir + '/' + file
                with open(full_path, 'r') as source:
                    corpus.write(source.read())
                corpus.write(' ')
예제 #15
0
    def _init_tcl(self):
        """Initialize Tcl interpreter.

        Returns:
            None

        """
        try:
            self.Tcl is None
        except AttributeError:
            self.Tcl = Tcl()

            # Define logger
            def tcl_puts(*args):
                """Enables logging for tcl output.

                Returns:
                    None

                """
                if len(args) >= 2:
                    stream = args[0]
                    if stream == "stdout":
                        self.class_logger.debug(" ".join(args[1:]))
                    elif stream == "stderr":
                        self.class_logger.error(" ".join(args[1:]))
                    else:
                        self.class_logger.debug("stream <%s>: %s" %
                                                (args[0], " ".join(args[1:])))
                elif len(args) == 1:
                    self.class_logger.debug(args[0])
                else:
                    self.class_logger.error("Called puts without arguments.")
                return None

            self.Tcl.createcommand("tcl_puts", tcl_puts)
            self.class_logger.debug("Insert tcl script to catch puts output.")
            ixia_helpers.tcl_puts_replace(self.Tcl)

            ixia_helpers.ixtclhal_import(self.Tcl)
예제 #16
0
def create_txt(set, ids):
    path = os.path.join('datasets', args.project)
    os.makedirs(path, exist_ok=True)

    with open(os.path.join(path, f'{set}.txt'), 'w') as f:
        for label, id in enumerate(ids):
            if (val_size == 0) and (set == 'val'):
                break

            images = os.listdir(os.path.join(root, id))
            images = Tcl().call('lsort', '-dict', images)  # sort

            if val_size != 0:
                if set == 'train':
                    images = images[:-val_size]
                elif set == 'val':
                    images = images[-val_size:]

            for image in images:
                f.write(f'{id}/{image} {label}\n')

    return print(f'------{set}.txt created------')
예제 #17
0
    def testLoadTkFailure(self):
        old_display = None
        if sys.platform.startswith(('win', 'darwin', 'cygwin')):
            # no failure possible on windows?

            # XXX Maybe on tk older than 8.4.13 it would be possible,
            # see tkinter.h.
            return
        with test_support.EnvironmentVarGuard() as env:
            if 'DISPLAY' in os.environ:
                del env['DISPLAY']
                # on some platforms, deleting environment variables
                # doesn't actually carry through to the process level
                # because they don't support unsetenv
                # If that's the case, abort.
                display = os.popen('echo $DISPLAY').read().strip()
                if display:
                    return

            tcl = Tcl()
            self.assertRaises(TclError, tcl.winfo_geometry)
            self.assertRaises(TclError, tcl.loadtk)
예제 #18
0
 def testLoadTkFailure(self):
     import os
     old_display = None
     import sys
     if sys.platform.startswith(('win', 'darwin', 'cygwin')):
         return  # no failure possible on windows?
     if 'DISPLAY' in os.environ:
         old_display = os.environ['DISPLAY']
         del os.environ['DISPLAY']
         # on some platforms, deleting environment variables
         # doesn't actually carry through to the process level
         # because they don't support unsetenv
         # If that's the case, abort.
         display = os.popen('echo $DISPLAY').read().strip()
         if display:
             return
     try:
         tcl = Tcl()
         self.assertRaises(TclError, tcl.winfo_geometry)
         self.assertRaises(TclError, tcl.loadtk)
     finally:
         if old_display is not None:
             os.environ['DISPLAY'] = old_display
예제 #19
0
 def setUp(self):
     self.interp = Tcl()
예제 #20
0
import matplotlib.pyplot as plt
import numpy as np
import imageio
from PIL import Image
import matplotlib.image as mpimg
from tkinter import Tcl
import os

file_dir = "D:/Study/project/GAN/result/lsgan"

filename = os.listdir(file_dir)
f = Tcl().call('lsort', '-dict', filename)  # filename sort
# print(f)

path = [file_dir + f"/{i}" for i in f]
paths = [Image.open(i) for i in path]

# save
save_name = 'lsgan_02'
imageio.mimsave('D:/Study/project/GAN/result/pngs/%s.gif' % (save_name),
                paths,
                fps=2)
예제 #21
0
 def setUp(self):
     self.root = Tcl()
예제 #22
0
파일: test_tcl.py 프로젝트: wataash/cpython
def setUpModule():
    if support.verbose:
        tcl = Tcl()
        print('patchlevel =', tcl.call('info', 'patchlevel'))
예제 #23
0
파일: test_tcl.py 프로젝트: wataash/cpython
 def setUp(self):
     self.interp = Tcl()
     self.wantobjects = self.interp.tk.wantobjects()
예제 #24
0
 def __init__(self) -> None:
     """Init Tcl object."""
     self.tcl = Tcl()
 def testLoadTk(self):
     tcl = Tcl()
     self.assertRaises(TclError,tcl.winfo_geometry)
     tcl.loadtk()
     self.assertEqual('1x1+0+0', tcl.winfo_geometry())
     tcl.destroy()
예제 #26
0

if __name__ == "__main__":
    # get the images folder path
    path_images = gui_load_data_directory('', 'images folder')
    # path_images = '/Users/zhiqiao/Documents/Xray_wavefront_data/Zahir_Aug2019/CRL_D/focus_105p5mm_165p5mm_0p5mmstep/average_crop'
    
    # print(path_images)
    # read all the images
    # read all the images under that folder
    listOfFiles = glob.glob(path_images + '/*.tif')
    time_sort = False
    if time_sort:
        listOfFiles.sort(key=os.path.getmtime)
    else:
        listOfFiles = Tcl().call('lsort', '-dict', listOfFiles)
        # listOfFiles.sort()
    listOfData = []
    for fname in listOfFiles:
        print('\033[32m' + 'MESSAGE: read File ' + fname + '\033[0m')
        temp_data = tiff.imread(fname)
        listOfData.append(temp_data)

    img_data = np.array(listOfData)

    # use the 1/e^2 edge as the beam spot area
    n_image, row_size, col_size = img_data.shape
    img_width = np.zeros(img_data.shape)
    img_FWHM = np.zeros((2, img_data.shape[0]))
    img_sigma = np.zeros((2, img_data.shape[0]))
예제 #27
0
        i += 1

    return id_to_labels, labels_to_id


print("\n")

label_file = 'output_labels_alphabet.txt'
id_to_labels, labels_to_id = load_label_dicts(label_file)

files = []
crop_folder_path = os.path.join('crop')
path = os.path.join(crop_folder_path, "*.png")
frames = glob.glob(path)
files = frames
files = list(Tcl().call('lsort', '-dict', files))

prediction_vector = get_inference_vector_one_frame_alphabet(files)
prediction_vector = np.array(prediction_vector)

print("\n")

l = []
for i in range(prediction_vector.shape[0]):
    l.append(id_to_labels[np.argmax(prediction_vector[i])])
print("Labels from Cropped images")
print(l)

files = []
data_folder_path = os.path.join('data')
path = os.path.join(data_folder_path, "*.png")
예제 #28
0
                    default='DeepGlint',
                    type=str,
                    help='save name')
parser.add_argument('-r',
                    '--ratio',
                    default=0.2,
                    type=float,
                    help='How many images do you want to use in validation')
parser.add_argument('-s', '--set', default=['train', 'val'])
args = parser.parse_args()

root = os.path.join('/home/ubuntu/data/', args.project)
# root = os.path.join('datasets', args.project)

ids = os.listdir(root)
ids = Tcl().call('lsort', '-dict', ids)
print('Total_ids :', len(ids))

min_n = 0
max_n = 0
cn = 0
for id in ids:
    images = os.listdir(os.path.join(root, id))

    if min_n == 0:
        min_n = len(images)
    max_n = max([max_n, len(images)])
    min_n = min([min_n, len(images)])

    if len(images) < 11:
        # print('id :', id)
예제 #29
0
def get_tk_patchlevel():
    global _tk_patchlevel
    if _tk_patchlevel is None:
        tcl = Tcl()
        _tk_patchlevel = tcl.info_patchlevel()
    return _tk_patchlevel
import os
import shutil
from tkinter import Tcl

m = 50000
n = 5000

src_dir = "C:/Users/shubh/Downloads/Shubh_mypy_proj/comp_vision/train/traintemp"
dst_dir = "C:/Users/shubh/Desktop/thisone"
file_list = os.listdir(src_dir)
file_list = (Tcl().call('lsort', '-dict', file_list))

for i in range(0, m, n):
    for j in range(i, i + 100):
        shutil.copy(file_list[j], dst_dir)