Thank you for this great new version of dipy ! Good job :-) I have a basic question on how can we use fury to plot the spherical deconvolution results. I used the Tractoflow pipeline to preprocess my clinical data set. Using scil_compute_fodf.py with spherical harmorics basis set to 'descoteaux07' and order set to 8. I got a file 'fodf.nii.gz' of shape (133, 161, 144, 45). My question is how can I use fury to plot the fodf on coronal plan using the fodf file ? Best regards, sincerely. Tristan :-)
this might be out of scope w.r.t. masking for image registration, but I notice that a lot of these registration functions / methods take 4 arguments at a minimum -- moving, fixed, moving_grid2world, fixed_grid2world -- and there are a lot of nearly duplicated code blocks which perform some operation on moving, then the same operation on fixed. Is there any appetite to simplifying this with some lightweight OOP? e.g. an object that has a data property, a mask property, and a grid2world property would save a lot of LOC in the registration codebase
this is looking pretty hairy to me:
Yes @skoudoro has a plan to make this more OOP. Let's sync together.
I would say more than oop the plan is to simplify some things in the reg API. Not sure yet we can take out these parameters completely at first stage. You may feel this is hairy now but after a while you see that it is quite useful. Also do look into dipy.workflows.align there we have a higher level api. Do you have a suggestion for how to reduce the number of parameters? Be happy to suggest ideas. We are good listeners :)
Is there a working implementation of the single shell free water bi tensor model? I found a couple of scripts that are works in progress and have spent two days trying to correct errors so it would be nice to know if there is a working implementation
@Garyfallidis I agree, those parameters are all essential, and it's good if the entry point to registration takes raw numpy arrays. I was thinking more about introducing some data structures (maybe something as simple as a namedtuple that would be used internally by the registration / optimization routines
but I don't have any clear ideas right now
@Garyfallidis i have a question about the scale space code -- it looks like it does not do any downsampling, is this by design?
downsampling images after blurring should greatly reduce memory load + compute time for large images
(for reference, the images I am working with are ~10000 x 10000 pixels, and i have thousands of these images, so performance improvements matter a lot here)
I think it does downsampling. This is the factor parameter. Factor of 2 means divides by 2.
yes I found where the downsampling happens -- the scale space does not itself do any downsampling, but the AffineRegistration class uses the scalespace parameters to do the downsampling in the optimization step
@willi3by : there is a single-shell free water DTI WIP PR by @mvgolub here: nipy/dipy#1744
@arokem@mvgolub thank you for the response. This is actually the file I have been trying to edit but have had trouble editing and troubleshooting. I have made some progress but do not have the expertise to do it efficiently. It looks like the last update was about 4 months ago. Is this still a work in progress?
I think so. Maybe @mvgolub or @RafaelNH can say more?
AHA -- here is where all the DiPy folks hanging out! Will there be DiPy booth at SfN?
@yarikoptic : hello!
Nope. No SfN booth
Hi every body. I analysed a DWI data set using DKI model (just as example code), but outputs are very noisy. DWI data parameters: b-values:0, 500, 1000, 2000 in the same 15 directions. Why AK and RK are so much noisy?
Hey, just a general question out of curiosity: What's causing the actual b-values to differ slightly from what I selected in the scanner console? e.g. b0 is actually not zero but around 26. or b=1000 is sometimes 999.34 or 1001.18 etc. Is this measured or calculated somehow from the gradient system? and does it improve the results significantly to use those actual values instead of the theoretical ones?
@Quantum_Neuron_twitter : I don't know the answer to this, but if no one here can provide an answer, I think that it would be a great question to ask on https://neurostars.org/
I do know that in some cases b-values also vary spatially
(empirical b-values, that is)
@arokem@RafaelNH@mvgolub I was investigating and it seems the post that was linked in a previous response to nipy/dipy#1744 has not been updated since May 7. Is there a dipy work in progress repository where newer files might be stored? Thanks again for the help
Rafael Neto Henriques
Hi @willi3by! @mvgolub did sime very nice progress on this code. We didn't push any update because we are testing it offline in deep. At the moment, we already have the same performance when comparing to the state of art of single shell algorithms in the recent literature, however we are still not happy with what single shell algorithms can give us. We are still detecting massive issues with this technique in general, and we are trying the best to overcome its major limitations. By the end of the year, we are planing: 1) to have our advances pushed in dipy; 2) share a manuscript reporting the details of our implementations and tests. Keep posted!
@RafaelNH Thank you for the in depth update! I very much look forward to seeing this in Dipy.
Rafael Neto Henriques
Hi @Quantum_Neuron_twitter! Actual values consider other sequence parameters that induces extra diffusion weighting (e.g effects of crushers). Using that actual values provides you more accurate diffusion estimates.
Hi everyone, when I try to visualize data with window import form viz module, it has error message "import error, can not import name ' window', how to solve this issue?
I installed pury, the window import error is gone, but there are error to display with VTK, can not find a decent config
hi everyone! I'm using 3D data for the first time ever and patient's slice dimensions don't always match up - is a simple affine registration sufficient to reproject all patients to a common shape? for example, I want all patients to have a shape of 15x128x128
any help appreciated!
Depends what you want to do. An affine transform may change the scale of your patient's brain. If you want to simply match the image matrices consider ResampleImage in ants; or convert3d and you may also want to check https://github.com › rordenlab › spmScripts › blob › nii_reslice_target. It is so good to have options! Best of luck!
@RafaelNH can you point me to examples of massive issues in single shell methods, or maybe not at this time? Just curious. Thanks and the best of luck!