pnlbwh / freesurfer-analysis Goto Github PK
View Code? Open in Web Editor NEWInteractive analysis of FreeSurfer statistics using https://plotly.com/dash/
Interactive analysis of FreeSurfer statistics using https://plotly.com/dash/
Pointed out by @eknyazhe
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.
A feasibility study
outDir
, how they can be managed if we do not take input for outDir
?outDir
and outliers.csv
is not the best ideaoutliers.csv
input and figuring out outDir
brings us back to the first challengeoutDir
and running two copies of generate-summary.py
would necessitate writing to the same port, which can't be allowed.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.
Observe properties:
CortexVol
Left-Putamen
First discovered by @eknyazhe
Diagnosed by @tashrifbillah
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
Check validity of ports at the beginning of each executable.
import socket
s= socket.socket()
s.connect(PORT_NAME)
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
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
The former fancy feature is causing more trouble than advantage.
After affecting #19 (comment)
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
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
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.