Comments (3)
Hi @darrencl, thanks for bringing this to my attention. When I first wrote the Twix reader I had minimal experience with Twix and no pulse programming experience, just a couple of powerpoint slides from Siemens about the raw data structure organisation. On the header side I just had to guess everything, and it is strange to me how much the header varies, as you found out with these files from the same session with different header values. Every so often these kind of issues crop up and we try and fix things by educated guesses about names to look for etc. Sorry you got caught by this one :-(
It would be great to have a PR from you to fix this if you can, or if you can share your anonymised Twix files then I am happy to take a look as well. I would probably start by simply changing the regex to look for the alternative voxel information entries as you suggest, or in fact probably iterating over known possibilities until a match is found. Let me know which of us you want to have a look at this problem.
It is cool to see a Julia library for MRS, I keep meaning to have a look at Julia but never have time. I see you are doing some COSY work with Felix, I also played around with that a little bit, a long time ago. Do you do any processing of the data in Julia, or is it just for I/O
from suspect.
@bennyrowland that is true! It's just amazing how inconsistent these files are! :-)
That's awesome, I will submit a PR on this then! I will try to find a phantom scan with this issue, just to be save to not leaking any TWIX files of patient.
Yes, Felix has been used by my research group and they also use 2D COSY scans to get better insights. I would also like to open an issue in regards to supporting 2D COSY on suspect, at least for the reader. In our python processing package, we implement this by having a COSYMRSData
which extends base object (COSYBase
which extends ImageBase
), since we need to record the dwell time of T1. I think it's also great to move this bits to suspect instead to add support for COSY.
Do you do any processing of the data in Julia, or is it just for I/O
There are some signal processing functions implemented in the Julia package such as channel combination, apodization, simple averaging, and zero filling and those also works for 2D data. I'm cc'ing my ex-colleague so he knows what is going on here :-) (cc: @c42f)
from suspect.
Hi guys, thanks for CC'ing me Darren. Yes @bennyrowland there's some signal processing stuff in https://github.com/TRIImaging/MagneticResonanceSignals.jl, though it's pretty light on; nothing sophisticated.
from suspect.
Related Issues (20)
- BUG: Loading DICOM files with non-Siemens extensions fails HOT 1
- DOI, cite suspect HOT 2
- ENH: Correction of eddy current effects HOT 3
- ENH: channel combination methods should accept an axis parameter
- BUG: load_dicom_volume() only considers .ima or .dcm files HOT 1
- ENH: Add the RATS frequency correction method
- ENH: Add TR parameter to MRSBase object
- ENH: Add functions for absolute quantification
- BUG: calculating axial/sagittal/coronal axes of transform does not use normalised direction vectors
- #BUG Siemens IMA load calculates wrong shape sometimes
- LCModel IO - "VOLUME = NaN" HOT 2
- ENH: overhaul of singlet fitting methods
- Support 2D COSY TWIX reader HOT 6
- frequency axis inverted HOT 1
- Processing HOT 3
- `correct_frequency_and_phase`: too many arguments to `residual_water_alignment`
- pydicom >2.0.0 reads MRS with too many elements HOT 2
- Allow update on lmfit's version HOT 1
- Siemens voxel oriented incorrectly with respect to structural MR HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from suspect.