Ejemplo n.º 1
0
    def update_canvas(self):
        """
        :does: update canvas
        """
        # Remove old FigureCanvas
        if self.dynamic_canvas is not None:
            self.dynamic_canvas.deleteLater()
        if self.ax is not None:
            self.ax.remove()
        if self.bg == 0:
            self.up_button.setEnabled(False)
        else:
            self.up_button.setEnabled(True)

        if self.bg + self.step >= len(self.df_data['City']):
            self.pagename.setText(
                str(self.bg) + ' - ' + str(len(self.df_data['City']) - 1))
            self.down_button.setEnabled(False)
        else:
            self.pagename.setText(
                str(self.bg) + ' - ' + str(self.bg + self.step))
            self.down_button.setEnabled(True)
        # Create new figure
        self.fig, self.ax = view.show(self.df_res, self.bg, self.step)

        self.dynamic_canvas = FigureCanvas(self.fig)

        self.layout_widget.addWidget(self.dynamic_canvas)
Ejemplo n.º 2
0
def get_cmd_output(hostname, topic, request_options):

    digest = get_digest({'h': hostname, 't': topic, 'r': request_options})

    cache_file = '%s/cache/%s' % (MYDIR, digest)
    if os.path.exists(cache_file):
        return open(cache_file).read().decode('utf-8')
    #elif hostname == 'rate.sx' and topic == ':firstpage' and os.path.exists(cache_file):
    #    return open(cache_file).read().decode('utf-8')
    else:
        currency = hostname.lower()
        if currency.endswith('.rate.sx'):
            currency = currency[:-8].upper()

        if currency == 'COIN':
            return "Use YOUR COIN instead of COIN in the query: for example btg.rate.sx, xvg.rate.sx, eth.rate.sx and so on\nTry:\n curl btg.rate.sx\n curl xvg.rate.sx\n curl xrb.rate.sx\n"

        use_currency = currency
        if currency not in currencies_names.SUPPORTED_CURRENCIES \
            and currency not in coins_names.COIN_NAMES_DICT and currency != 'coin':
            currency = 'USD'

        if topic != ':firstpage':
            try:
                answer = calculator.calculate(topic.upper(), currency)
                if answer:
                    answer = 'text %s' % answer
            except ValueError as e:
                return "ERROR: %s\n" % e

            if answer is None:
                try:
                    answer = draw.view(topic, use_currency=use_currency)
                except RuntimeError as e:
                    return "ERROR: %s\n" % e

            if answer is not None:
                if request_options.get('no-terminal'):
                    answer = remove_ansi(answer)
                open(cache_file, 'w').write(str(answer) + "\n")
                return "%s\n" % answer
            else:
                return "ERROR: Can't parse your query: %s\n" % topic

        cmd = [
            "%s/ve/bin/python" % MYDIR,
            "%s/bin/show_data.py" % MYDIR, currency, topic
        ]

    config = request_options
    config['currency'] = currency
    answer = view.show(config)

    if config.get('no-terminal'):
        answer = remove_ansi(answer)

    open(cache_file, 'w').write(answer)
    #p = Popen(cmd, stdout=PIPE, stderr=PIPE)
    #answer = p.communicate()[0]
    return answer.decode('utf-8')
Ejemplo n.º 3
0
def get_cmd_output(hostname, topic, request_options):
    cache_file = '%s/data/last' % MYDIR
    if hostname == 'rate.sx' and topic == ':firstpage' and os.path.exists(
            cache_file):
        return open(cache_file).read().decode('utf-8')
    else:
        currency = hostname.lower()
        if currency.endswith('.rate.sx'):
            currency = currency[:-8].upper()

        if currency == 'COIN':
            return "Use YOUR COIN instead of COIN in the query: for example btg.rate.sx, xvg.rate.sx, eth.rate.sx and so on\nTry:\n curl btg.rate.sx\n curl xvg.rate.sx\n curl xrb.rate.sx\n"

        if currency not in currencies_names.SUPPORTED_CURRENCIES \
            and currency not in currencies_names.CRYPTO_CURRENCIES + ['coin']:
            currency = 'USD'

        if topic != ':firstpage':
            answer = calculator.calculate(topic.upper(), currency)
            if answer is not None:
                return "%s\n" % answer
            else:
                return "ERROR: Can't parse your query: %s\n" % topic

        cmd = [
            "%s/ve/bin/python" % MYDIR,
            "%s/bin/show_data.py" % MYDIR, currency, topic
        ]

    config = request_options
    config['currency'] = currency
    answer = view.show(config)
    #p = Popen(cmd, stdout=PIPE, stderr=PIPE)
    #answer = p.communicate()[0]
    return answer.decode('utf-8')
Ejemplo n.º 4
0
def main():
    prev_pos_face = False
    num = 0
    n = 1
    while True:
        print("START")
        b, img = cons.CAM.read()
        # to make it possible to detect faces the capture has to be in grayscale.
        gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
        if prev_pos_face is False:
            parameters = m.FaceParameters(cons.FACE_CASCADE, b, gray)
            face = c.find_face(parameters)
        else:
            updated = face.update(gray)
            if updated is False:
                print("FALSE UPDATE")
                parameters = m.FaceParameters(cons.FACE_CASCADE, b, gray)
                face = c.find_face(parameters)

        if face is not None:
            prev_pos_face = True
            # Calibrate
            if not cons.CALIBRATESCREEN_P1:
                screen = create_calibrate_screen(0.5)
                view.show(screen.get_screen(), "SCREEN")
                cons.CALIBRATESCREEN_P1 = True
            else:
                if num == 5:
                    cons.LIGHT_INTENSITY_THRESHOLD += 2
                    n += 1
                    num = 0
                else:
                    num += 1
            print(str(num))
        cv2.waitKey(1) & 0xff
        if n == 50:
            num = 0
            f = open("area.csv", "w+")
            for eye in cons.eyes:
                r = cv2.resize(eye, (750, 500), cv2.INTER_AREA)
                cv2.imwrite('Eyes/' + str(num) + '.jpg', r)
                f.write(str(cons.area_pupil[num]) + '\n')
                num += 1
            break
    f.close()
    cons.CAM.release()
    cv2.destroyAllWindows()
Ejemplo n.º 5
0
def choose_menu():
    """
    Choose menu function
    """
    choose = view.menu()
    if choose == 1:
        view.show()
    elif choose == 2:
        view.create()
    elif choose == 3:
        view.edit()
    elif choose == 4:
        view.delete()
    elif choose == 5:
        exit()
    else:
        print("Please, type a number from 1 to 5")
    choose_menu()
Ejemplo n.º 6
0
def collect_data():
    prev_pos_face = False
    case = 0
    num = 0
    n = 1
    while case < 3:
        print("START")
        b, img = cons.CAM.read()
        # to make it possible to detect faces the capture has to be in grayscale.
        gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
        if prev_pos_face is False:
            parameters = m.FaceParameters(cons.FACE_CASCADE, b, gray)
            face = find_face(parameters)
        else:
            updated = face.update(gray)
            if updated is False:
                parameters = m.FaceParameters(cons.FACE_CASCADE, b, gray)
                face = find_face(parameters)

        # Check whether a previous face exists
        if face:
            prev_pos_face = True
        else:
            prev_pos_face = False

        # Show the different calibrate screens
        if not cons.CALIBRATESCREEN_P1:
            screen = create_calibrate_screen("Pupil Threshold",
                                             0.125 * (1 + 3 * case))
            view.show(screen.get_screen(), "SCREEN")
            cons.CALIBRATESCREEN_P1 = True
            num, n = count_data(num, n)
        else:
            num, n = count_data(num, n)
        print(str(num))
        cv2.waitKey(1) & 0xff
        if n == 50:
            write_data2file("area_" + str(case) + ".csv",
                            "Eyes_" + str(case) + "/")
            case += 1
            n = 0
    cons.CAM.release()
    cv2.destroyAllWindows()
Ejemplo n.º 7
0
def split_data(data_src, data_dst_dir, save_num):
    dir_path = os.path.dirname(os.path.realpath(__file__))
    data_src = os.path.join(dir_path, data_src)

    data = np.load(data_src)

    num_sensors = len(data[0][0]) - 1

    new_data = np.ndarray(shape=(1000, 20, width, height, 2), dtype=np.uint8)

    for i in range(num_sensors):
        train_data_dest = os.path.join(dir_path, '{0}/sensor{1}_data'.format(data_dst_dir, i))
        if not os.path.exists(train_data_dest):
            os.makedirs(train_data_dest)

    env_data_dest = os.path.join(dir_path, '{0}/env_data'.format(data_dst_dir))
    if not os.path.exists(env_data_dest):
        os.makedirs(env_data_dest)

    for i, sequence in enumerate(data):  # for each sequence
        env_states = []
        save_envs = False
        for j in range(num_sensors):  # for each sensor
            for k, step in enumerate(sequence):  # split sequence data
                env_states.append(step[0])
                show(step[0])
                vis = step[j + 1][0]
                occ = step[j + 1][1]
                new_data[i, k, :, :, 0] = occ  # sensor i occupancy grid
                show(new_data[i, k, :, :, 0])
                new_data[i, k, :, :, 1] = vis  # sensor i visibility grid
                show(new_data[i, k, :, :, 1])
            if not save_envs:
                np.save(env_data_dest + '/{0}.npy'.format(i + save_num), env_states)
            np.save('{0}/sensor{1}_data/{2}.npy'.format(data_dst_dir, j, i + save_num), new_data[i, :, :, :, :])
Ejemplo n.º 8
0
                    return "ERROR: %s\n" % e

            if answer is not None:
                open(cache_file, 'w').write(str(answer) + "\n")
                return "%s\n" % answer
            else:
                return "ERROR: Can't parse your query: %s\n" % topic

        cmd = [
            "%s/ve/bin/python" % MYDIR,
            "%s/bin/show_data.py" % MYDIR, currency, topic
        ]

    config = request_options
    config['currency'] = currency
    answer = view.show(config)

    open(cache_file, 'w').write(answer)
    #p = Popen(cmd, stdout=PIPE, stderr=PIPE)
    #answer = p.communicate()[0]
    return answer.decode('utf-8')


def rewrite_aliases(word):
    if word == ':bash.completion':
        return ':bash_completion'
    return word


def html_wrapper(data):
    p = Popen(["bash", ANSI2HTML, "--palette=xterm", "--bg=dark"],
Ejemplo n.º 9
0
import json
import requests
from model import Wrapper as rp
import view

call = rp()
view.ask()
symbol = input()
view.show()
print(call.quote(symbol))
Ejemplo n.º 10
0
#!/usr/bin/python
# vim: encoding=utf-8

"""
command line terminal rate.sx client
"""

import sys
reload(sys)
sys.setdefaultencoding("utf-8")

import os
MYDIR = os.path.abspath(os.path.dirname(os.path.dirname('__file__')))
sys.path.append("%s/lib/" % MYDIR)

import view

if __name__ == '__main__':
    config = {
        'number_of_ticks': 12,
        'number_of_coins': int(os.environ.get('NUMBER_OF_COINS', 10)),
        'currency': 'USD',
    }
    if len(sys.argv) > 1:
        config['currency'] = sys.argv[1]
    sys.stdout.write(view.show(config))

Ejemplo n.º 11
0
def showProjectPath():
    current_project = ProjectExplorer.ProjectTree.instance().currentProject()
    if current_project:
        view.show(current_project.projectDirectory().toString())
    else:
        view.error("Please open a project")
Ejemplo n.º 12
0
def main():
    if cons.COLLECT_DATA:
        collect_data()
        return 0

    faces = list()
    test_system = list()
    test_case = 0
    enough_data_light_intensity = False  # Boolean to indicate the end of the calibration of the light threshold.
    cal_parameters = False  # Boolean to indicate whether calibration is started.
    screen_bool_test_system = False
    screen_parameters = False  # Boolean to indicate whether the calibrating screen for the light threshold is showed.
    screen_bool = False
    prev_face = False  # Boolean to indicate whether a face was already found are not.
    print("START")
    while True:
        b, img = cons.CAM.read()
        # to make it possible to detect faces the capture has to be in gray scale.
        gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
        # If there isn't detected a face already
        if prev_face is False:
            # Set the parameters to detect a face
            parameters = m.FaceParameters(cons.FACE_CASCADE, b, gray)
            # Find a face
            face = find_face(parameters)
        else:
            # Try to update the information of the face
            updated = face.update(gray)
            # If the update isn't successful, look for the face again
            if updated is False:
                parameters = m.FaceParameters(cons.FACE_CASCADE, b, gray)
                face = find_face(parameters)

        if face:
            prev_face = True
            # Check whether the two eyes exist/are found
            if face.get_right_eye() and face.get_left_eye():
                print("EYES detected")
                # Calibrate
                # First calibrate to know the light intensity
                if enough_data_light_intensity is False:
                    if screen_parameters is False:
                        screen = create_calibrate_screen(
                            "calibrate light intensity", 0.5)
                        # show the calibrate screen
                        view.show(screen.get_screen(), screen.get_name())
                        screen_parameters = True
                    # If calibration isn't started make a calibrating object
                    elif cal_parameters is False:
                        t = calibrate.CalibrateLightIntensity(face)
                        cal_parameters = True
                    else:
                        # update the calibrating object
                        t.update(face)
                        # If enough data is collected:
                        #           Set the "LIGHT_INTENSITY_THRESHOLD"
                        #           Close the window with the calibration screen
                        if t.get_number_of_data() > 50:
                            enough_data_light_intensity = True
                            cons.LIGHT_INTENSITY_THRESHOLD = t.get_threshold()
                            screen.close_screen()
                            screen_parameters = False
                            cal_parameters = False
                # Case to collect data with a LED as reference point to compare
                # the data of the eye corner and pupil with
                elif cons.REFERENCE:
                    if screen_bool is False:
                        screen = create_calibrate_screen(
                            "Collect_data_reference", 0.5)
                        view.show(screen.get_screen(), screen.get_name())
                        screen_bool = True
                    elif len(cons.led_position) == 500:
                        screen.close_screen()
                        cons.CAM.release()
                        write_data2file_reference()
                        return 0
                # When none of the cases above start the calibration of the pupil positions
                else:
                    if not cons.CALIBRATESCREEN_P1:
                        calibrate_p1 = create_calibrate(
                            face, cons.CALIBRATE_P1_FACTOR,
                            cons.NAME_CALIBRATE_WINDOW)
                        cons.CALIBRATESCREEN_P1 = True
                    elif calibrate_p1.get_mean_eye_vector() is None:
                        calibrate_p1.update_calibrate(face)
                    elif not cons.CALIBRATESCREEN_P2:
                        calibrate_p1.close_screen()
                        calibrate_p2 = create_calibrate(
                            face, cons.CALIBRATE_P2_FACTOR,
                            cons.NAME_CALIBRATE_WINDOW)
                        cons.CALIBRATESCREEN_P2 = True
                    elif calibrate_p2.get_mean_eye_vector() is None:
                        calibrate_p2.update_calibrate(face)
                    else:
                        calibrate_p2.close_screen()

                        if int(calibrate_p1.get_mean_eye_vector().x) == int(calibrate_p2.get_mean_eye_vector().x)\
                                or int(calibrate_p1.get_mean_eye_vector().y) == \
                                int(calibrate_p2.get_mean_eye_vector().y):
                            cons.CALIBRATESCREEN_P1 = False
                            calibrate_p1 = None
                            cons.CALIBRATESCREEN_P2 = False
                            calibrate_p2 = None
                        else:
                            left_eye_pupil = face.get_left_eye().get_pupil()
                            right_eye_pupil = face.get_right_eye().get_pupil()

                            if right_eye_pupil and left_eye_pupil:
                                if cons.TEST_SYSTEM:
                                    if test_case < 9:
                                        print(len(test_system))
                                        if len(test_system) < 50 * (test_case +
                                                                    1):
                                            if screen_bool_test_system is False:
                                                x_factor = 0.875 - (test_case %
                                                                    3) * 0.375
                                                y_factor = 0.125 * (
                                                    (test_case // 3) * 3 + 1)
                                                screen = create_calibrate_screen(
                                                    "TEST", x_factor, y_factor)
                                                view.show(
                                                    screen.get_screen(),
                                                    screen.get_name())
                                                screen_bool_test_system = True
                                            else:
                                                faces.append(face)
                                                area, x, y = map_eyes2screen(
                                                    faces, calibrate_p1,
                                                    calibrate_p2)
                                                if area:
                                                    test_system.append(
                                                        str((0.875 -
                                                             (test_case % 3) *
                                                             0.375) *
                                                            cons.SCREEN_WIDTH)
                                                        + ";" +
                                                        str((0.125 * (
                                                            (test_case // 3) *
                                                            3 + 1)) *
                                                            cons.SCREEN_HEIGHT)
                                                        + ";" + str(x) + ";" +
                                                        str(y) + ";" +
                                                        area.to_string)
                                                faces.clear()
                                        else:
                                            test_case += 1
                                            screen_bool_test_system = False
                                    else:
                                        cons.TEST_SYSTEM = False
                                        screen.close_screen()
                                        cons.CAM.release()
                                        write_data2file_test(test_system)
                                        return 0
                                else:
                                    # add face to list of faces
                                    faces.append(face)
                                    # if list is larger than value -> map and empty list
                                    if len(faces) == cons.NUMBER_EYES:
                                        pos, _, _ = map_eyes2screen(
                                            faces, calibrate_p1, calibrate_p2)
                                        if pos:
                                            view.show_pos(pos)
                                            # view.show_image(img, face, "Face")
                                        faces.clear()
        else:
            prev_face = False

        key = cv2.waitKey(1) & 0xff
        if key == ord('q'):
            break
    cons.CAM.release()
    cv2.destroyAllWindows()
Ejemplo n.º 13
0
def main():
    view.show()
Ejemplo n.º 14
0
        wx.EVT_SCROLLWIN_PAGEUP, wx.EVT_SCROLLWIN_PAGEDOWN, wx.EVT_SCROLLWIN_TOP,
        wx.EVT_SCROLLWIN_BOTTOM, wx.EVT_SCROLLWIN_THUMBTRACK, wx.EVT_SCROLLWIN_THUMBRELEASE,
        wx.EVT_SCROLLBAR, wx.EVT_SCROLL, wx.EVT_MOUSEWHEEL),
        map(genOnScroll,
            (targetTree, ) * 12, (otherTree, ) * 12,
            ('SCROLLWIN', 'SCROLLWIN_LINEUP', 'SCROLLWIN_LINEDOWN',
            'SCROLLWIN_PAGEUP', 'SCROLLWIN_PAGEDOWN', 'SCROLLWIN_TOP',
            'SCROLLWIN_BOTTOM', 'SCROLLWIN_THUMBTRACK', 'SCROLLWIN_THUMBRELEASE',
            'SCROLLBAR', 'SCROLL', 'MOUSEWHEEL')))
bindScrollingHandlers(lTree, rTree)
bindScrollingHandlers(rTree, lTree)

# toolbar button handlers
map(frame.Bind, (wx.EVT_MENU, ) * 12,
        # handlers
        (genOnCopy('left', 'right'), genOnCopy('right', 'left'), onDel,
         onCmp, onRefreshAll, onFocus, onBrowse,
         onNew, onSave, onLoad,
         onAbout, onHelp),
        # toolbar buttons
        (frame.btn_cplr, frame.btn_cprl, frame.btn_del,
         frame.btn_cmp, frame.btn_rfsh_all, frame.btn_fcs, frame.btn_brws,
         frame.btn_new, frame.btn_save, frame.btn_load,
         frame.btn_abt, frame.btn_hlp))

if __name__ == '__main__' and len(sys.argv) == 2:
    loadSessionFromFile(sys.argv[1])

view.show()

Ejemplo n.º 15
0
 def main(self):
     view.show(self.calibrateScreen.get_screen(),
               self.calibrateScreen.get_name())
     self.find_vectors()
Ejemplo n.º 16
0
if len(sys.argv) < 2:
    print('error: expected at least 1 arguments')
    print('usage: viewtasks [-f|--flat] [<projects...>] <sort-field>')
    print('options:')
    print('-f : view result in flat view')
    sys.exit()

flatView = False
for i in range(len(sys.argv)):
    if sys.argv[i] != '-f' and sys.argv[i] != '--flat':
        continue
    flatView = True
    del sys.argv[i]
    break

if len(sys.argv) == 2:
    fromProjects = []
else:
    fromProjects = sys.argv[1:-1]
field = sys.argv[-1]

try:
    field = fields.Field[field]
except:
    print('error: ' + field + ' field does not exist')
    sys.exit()
    
print("from projects: " + str(fromProjects))
print("sort field: " + field.name)
view.show(fromProjects, field, flatView)
Ejemplo n.º 17
0
#!/usr/bin/python
# vim: encoding=utf-8
"""
command line terminal rate.sx client
"""

import os
import sys
try:
    reload(sys)
    sys.setdefaultencoding("utf-8")
except NameError:
    pass  # Python 3 already defaults to utf-8

MYDIR = os.path.abspath(os.path.dirname(os.path.dirname('__file__')))
sys.path.append("%s/lib/" % MYDIR)

import view

if __name__ == '__main__':
    config = {
        'number_of_ticks': 12,
        'number_of_coins': int(os.environ.get('NUMBER_OF_COINS', 10)),
        'currency': 'USD',
    }
    if len(sys.argv) > 1:
        config['currency'] = sys.argv[1]
    sys.stdout.write(view.show(config))
Ejemplo n.º 18
0
if len(sys.argv) < 2:
    print('error: expected at least 1 arguments')
    print('usage: viewtasks [-f|--flat] [<projects...>] <sort-field>')
    print('options:')
    print('-f : view result in flat view')
    sys.exit()

flatView = False
for i in range(len(sys.argv)):
    if sys.argv[i] != '-f' and sys.argv[i] != '--flat':
        continue
    flatView = True
    del sys.argv[i]
    break

if len(sys.argv) == 2:
    fromProjects = []
else:
    fromProjects = sys.argv[1:-1]
field = sys.argv[-1]

try:
    field = fields.Field[field]
except:
    print('error: ' + field + ' field does not exist')
    sys.exit()

print("from projects: " + str(fromProjects))
print("sort field: " + field.name)
view.show(fromProjects, field, flatView)