GithubHelp home page GithubHelp logo

freesurfer-analysis's People

Contributors

nickckim avatar tashrifbillah avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

nickckim

freesurfer-analysis's Issues

New bugs

After affecting #19 (comment)

  • New instance link is broken under reverse proxy (major)
    solved by 438c218
  • Table length should be infinite (major)
    fixed by f778279
  • Selection from previous table stays preventing new selection (medium)
    solved by generating a new table every time 805a65a

show-stats-table program doesn't run but other user's result is displayed

Credits

First discovered by @eknyazhe
Diagnosed by @tashrifbillah

Description

Although OSError is thrown, the program goes to next line and displays other people's results:

Traceback (most recent call last):
  File "/home/tb571/Downloads/freesurfer-analysis/scripts/show-stats-table.py", line 133, in <module>
    app.run_server(debug=False, port= table_port, host= 'localhost')
  File "/home/tb571/miniconda3/lib/python3.6/site-packages/dash/dash.py", line 1973, in run_server
    self.server.run(host=host, port=port, debug=debug, **flask_run_options)
  File "/home/tb571/miniconda3/lib/python3.6/site-packages/flask/app.py", line 990, in run
    run_simple(host, port, self, **options)
  File "/home/tb571/miniconda3/lib/python3.6/site-packages/werkzeug/serving.py", line 1052, in run_simple
    inner()
  File "/home/tb571/miniconda3/lib/python3.6/site-packages/werkzeug/serving.py", line 1005, in inner
    fd=fd,
  File "/home/tb571/miniconda3/lib/python3.6/site-packages/werkzeug/serving.py", line 848, in make_server
    host, port, app, request_handler, passthrough_errors, ssl_context, fd=fd
  File "/home/tb571/miniconda3/lib/python3.6/site-packages/werkzeug/serving.py", line 740, in __init__
    HTTPServer.__init__(self, server_address, handler)
  File "/home/tb571/miniconda3/lib/python3.6/socketserver.py", line 453, in __init__
    self.server_bind()
  File "/home/tb571/miniconda3/lib/python3.6/http/server.py", line 136, in server_bind
    socketserver.TCPServer.server_bind(self)
  File "/home/tb571/miniconda3/lib/python3.6/socketserver.py", line 467, in server_bind
    self.socket.bind(self.server_address)
OSError: [Errno 98] Address already in use


Displaying table at http://localhost:8052

Idea

Check validity of ports at the beginning of each executable.

import socket
s= socket.socket()
s.connect(PORT_NAME)

QClipboard: Unable to receive an event from the clipboard manager in a reasonable time

Reference to commit bfdfc84

rhSurfaceHoles
SurfaceHoles
EstimatedTotalIntraCranialVol
{'row': 0, 'column': 4, 'column_id': 'Left-Cerebellum-Cortex'}
{'row': 0, 'column': 4, 'column_id': 'Left-Cerebellum-Cortex'}
{'row': 2, 'column': 5, 'column_id': 'Left-Thalamus-Proper'}
QClipboard: Unable to receive an event from the clipboard manager in a reasonable time
{'row': 3, 'column': 8, 'column_id': 'Left-Pallidum'}
QClipboard: Unable to receive an event from the clipboard manager in a reasonable time
{'row': 4, 'column': 5, 'column_id': 'Left-Thalamus-Proper'}
QClipboard: Unable to receive an event from the clipboard manager in a reasonable time
{'row': 0, 'column': 10, 'column_id': '4th-Ventricle'}
QClipboard: Unable to receive an event from the clipboard manager in a reasonable time
QClipboard: Unable to receive an event from the clipboard manager in a reasonable time

Eliminate code duplication

app.py and some helpers were written later thus there is code duplication between _compare_layout.py and compare_correction.py.

Find out such duplications and unify them.

Extend to TBSS roi analysis

foreground: JHU-ICBM-labels-1mm.nii.gz & *_to_target_skel.nii.gz 
            (which is [aseg/aparc].mgz in freesurfer)
background: *_to_target_skel.nii.gz
lut= ENIGMA_look_up_table.txt

max number of figures opened

C:\Users\tashr\Documents\GitHub\freesurfer-analysis\scripts\compare_correction.py:185: RuntimeWarning:

More than 20 figures have been opened. Figures created through the pyplot interface (`matplotlib.pyplot.figure`) are retained until explicitly closed and may consume too much memory. (To control this warning, see the rcParam `figure.max_open_warning`).

Idea: the suggestion or close figures after each signal change

[ENH] Can we accept outliers.csv file name instead of outDir ?

Credit

Pointed out by @eknyazhe

Application

If the aforementioned can be accepted, demography-effect.py should be able to give both corrected and uncorrected outliers. Otherwise, creation of another output directory within outDir is required.

Pending

A feasibility study

Challenges

  • many other files are written within outDir, how they can be managed if we do not take input for outDir?
  • taking two inputs-- outDir and outliers.csv is not the best idea
  • taking outliers.csv input and figuring out outDir brings us back to the first challenge
  • creation of another directory withing outDir and running two copies of generate-summary.py would necessitate writing to the same port, which can't be allowed.

Cache issue of Flask App

In my observation, Flask App was once found to yield incorrect results when demographics were incorporated. The effect was noticed with volumes shown in units of B (billions) and none of the outliers changed to inliers and vice-versa.

If that happens again, close the tabs on browser, kill the program, and retry after a few minutes.

cc: @eknyazhe

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.