gablab / murfi2 Goto Github PK
View Code? Open in Web Editor NEWThe realtime fMRI software platform - an MIT-MGH collaboration
Home Page: http://mindhive.mit.edu/realtime/
License: Other
The realtime fMRI software platform - an MIT-MGH collaboration
Home Page: http://mindhive.mit.edu/realtime/
License: Other
@ohinds - we need to ensure that all dependent libraries are either BSD/MIT/Apache for murfi2 to be released as apache. i see that we are linking to gsl, which would prevent murfi2 from being released under apache v2.
It would be useful if murfi could output separate logs each time it is run rather than append one after the other in a single log.
the qt branch minimal config file is not minimal.
the xml file needs a few more things amongst others:
disabled=false
port number
receiveimages=true
also, the config file requires the subject info for murfi to load it, even if environment variables are set.
is there a way to implement a difference of roi value calculation? when one roi is background/wm it's variance could be low and hence z value can be really high. subtracting z values makes sense only if one is comparing task related rois.
in the other cases, one might want to z-ify the difference in activity between two mask regions.
with the current qtmurfi minimal configuration modifed to save images:
in neither case above does murfi save the data with proper voxel information - i believe this is an issue with the two scripts above rather than murfi as murfi saves data from the scanner properly.
with servenii, it does this:
$ mri_info img-00020-00001.nii
Volume information for img-00020-00001.nii
type: nii
dimensions: 12 x 12 x 31
voxel sizes: 3.0000, 3.0000, 3.6000
with servenii4d it does this:
$ mri_info img/img-00021-00001.nii
WARNING: MRIsetRas2VoxFromMatrix(): voxels sizes are inconsistent
(0,1.00007) (0,1.01065) (3.6,0.992484)
This is probably due to shear in the vox2ras matrix
Hi Satra,
I installed murfi afresh on a new laptop but am getting
servenii: command not found
when trying to run the `./servedata.sh' script
The call to QColor in the PlotController.h file during installation doesn't work... I have the latest Qt update, and the QColor file is in /usr/include/x86_64-linux-gnu/qt5/QtGui. Compiler says there is no QColor file or directory...
i was testing the open header with andre today at mit. and was running into this error. didn't have time to debug.
received info
processing 616 header data bytes
header received: TR=10
Requires: 294912 bytes
ExternalImageHeader(magic='ERTI', headerVersion=4, seriesUID='1.3.12.2.1107.5.2.32.35115.2013081322103941796402114', scanType='EPI', imageType='3D', note='Initial OpenHeader Implementation. repetitionDelayMS is currently hard-coded to 0', dataType='int16_t', isLittleEndian=True, isMosaic=True, pixelSpacingReadMM=3.28125, pixelSpacingPhaseMM=3.28125, pixelSpacingSliceMM=4.0, sliceGapMM=1.0, numPixelsRead=64, numPixelsPhase=64, numSlices=30, voxelToWorldMatrix=[-3.28125, 0.0, 0.0, 105.0, 0.0, -3.28125, 0.0, 105.0, 0.0, 0.0, 5.0, -72.5, 0.0, 0.0, 0.0, 1.0], repetitionTimeMS=2000, repetitionDelayMS=0, currentTR=10, totalTR=10, isMotionCorrected=True, mcOrder='TZYX', mcTranslationXMM=-0.0094293402949011, mcTranslationYMM=0.0008725363597534, mcTranslationZMM=0.014861163666259001, mcRotationXRAD=-0.0048493300566949, mcRotationYRAD=0.0055316874022655, mcRotationZRAD=-0.000439865096032)
----------------------------------------
Exception happened during processing of request from ('192.168.2.3', 54797)
Traceback (most recent call last):
File "/software/anaconda/envs/devpype/lib/python2.7/SocketServer.py", line 593, in process_request_thread
self.finish_request(request, client_address)
File "/software/anaconda/envs/devpype/lib/python2.7/SocketServer.py", line 334, in finish_request
self.RequestHandlerClass(request, client_address, self)
File "receive_nii.py", line 35, in createHandler
return ThreadedTCPRequestHandler(callback, infoclient, *args, **keys)
File "receive_nii.py", line 23, in __init__
SocketServer.BaseRequestHandler.__init__(self, *args, **keys)
File "/software/anaconda/envs/devpype/lib/python2.7/SocketServer.py", line 649, in __init__
self.handle()
File "receive_nii.py", line 26, in handle
self.callback(self.infoclient, self.request)
File "receive_nii.py", line 40, in process_data_callback
infoclient.process_data(sock)
File "receive_nii.py", line 126, in process_data
(self.ei.get_image_size(), len(img_data))
ValueError: Image data wrong size: expected 294912 bytes, got 8688
also for some reason hdr.seriesUID is changing in subsequent TRs
ExternalImageHeader(magic='ERTI', headerVersion=4, seriesUID='1.3.12.2.1107.5.2.32.35115.2013081322103941796402114', scanType='EPI', imageType='3D', note='Initial OpenHeader Implementation. repetitionDelayMS is currently hard-coded to 0', dataType='int16_t', isLittleEndian=True, isMosaic=True, pixelSpacingReadMM=3.28125, pixelSpacingPhaseMM=3.28125, pixelSpacingSliceMM=4.0, sliceGapMM=1.0, numPixelsRead=64, numPixelsPhase=64, numSlices=30, voxelToWorldMatrix=[-3.28125, 0.0, 0.0, 105.0, 0.0, -3.28125, 0.0, 105.0, 0.0, 0.0, 5.0, -72.5, 0.0, 0.0, 0.0, 1.0], repetitionTimeMS=2000, repetitionDelayMS=0, currentTR=7, totalTR=10, isMotionCorrected=True, mcOrder='TZYX', mcTranslationXMM=0.0042315309944431, mcTranslationYMM=-0.0025443566414593, mcTranslationZMM=0.0071906872163449, mcRotationXRAD=-0.0025820459857879, mcRotationYRAD=-0.0049068081238989, mcRotationZRAD=0.0008466105930182)
----------------------------------------
received info
processing 616 header data bytes
header received: TR=8
Requires: 294912 bytes
ExternalImageHeader(magic='ERTI', headerVersion=4, seriesUID='1.3.12.2.1107.5.2.32.35115.2013081322103945048702115', scanType='EPI', imageType='3D', note='Initial OpenHeader Implementation. repetitionDelayMS is currently hard-coded to 0', dataType='int16_t', isLittleEndian=True, isMosaic=True, pixelSpacingReadMM=3.28125, pixelSpacingPhaseMM=3.28125, pixelSpacingSliceMM=4.0, sliceGapMM=1.0, numPixelsRead=64, numPixelsPhase=64, numSlices=30, voxelToWorldMatrix=[-3.28125, 0.0, 0.0, 105.0, 0.0, -3.28125, 0.0, 105.0, 0.0, 0.0, 5.0, -72.5, 0.0, 0.0, 0.0, 1.0], repetitionTimeMS=2000, repetitionDelayMS=0, currentTR=8, totalTR=10, isMotionCorrected=False, mcOrder='TZYX', mcTranslationXMM=0.0, mcTranslationYMM=0.0, mcTranslationZMM=0.0, mcRotationXRAD=0.0, mcRotationYRAD=0.0, mcRotationZRAD=0.0)
so this breaks the assert.
Hey,
I am trying to use servenii to send nifti files to a vagrant box running murfi to visualize fMRI data to test the real time analysis. The issue we are having now is that the data in the murfi window looks scrambled. When the nifti file is opened with fsleyes, the labels are also incorrect. Is this a problem with the real time fMRI ICE Configurator sending data to the computer, or is the issue with servenii?
Thanks in advance,
Arun Venkataraman
for every mask murfi appears to return two values for each TR. what are these two values?
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.