Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
github-actions[bot] committed Jul 29, 2024
1 parent 3b1c920 commit e7dea60
Show file tree
Hide file tree
Showing 436 changed files with 148,567 additions and 0 deletions.
4 changes: 4 additions & 0 deletions dipy.org/pull/55/.buildinfo
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: 96fa88f136c11decd8580e0fe8a3b0af
tags: 645f666f9bcd5a90fca523b33c5a78b7
Empty file added dipy.org/pull/55/.nojekyll
Empty file.
1 change: 1 addition & 0 deletions dipy.org/pull/55/CNAME
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
dipy.org
Binary file added dipy.org/pull/55/_images/AWF_v1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added dipy.org/pull/55/_images/Code_ODF.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added dipy.org/pull/55/_images/DM-MNIST-112epoch.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added dipy.org/pull/55/_images/DSC03995.JPG
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added dipy.org/pull/55/_images/F0.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added dipy.org/pull/55/_images/F1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added dipy.org/pull/55/_images/F2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added dipy.org/pull/55/_images/F3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added dipy.org/pull/55/_images/F4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added dipy.org/pull/55/_images/F5.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added dipy.org/pull/55/_images/Figure1_Midterm.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added dipy.org/pull/55/_images/Figure2_midterm.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added dipy.org/pull/55/_images/MK_comparison.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added dipy.org/pull/55/_images/ODF_final_code.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added dipy.org/pull/55/_images/Picture1.png
Binary file added dipy.org/pull/55/_images/Picture2.png
Binary file added dipy.org/pull/55/_images/Picture2A.png
Binary file added dipy.org/pull/55/_images/Picture3.png
Binary file added dipy.org/pull/55/_images/Picture4.png
Binary file added dipy.org/pull/55/_images/Picture5.png
Binary file added dipy.org/pull/55/_images/Picture6.png
Binary file added dipy.org/pull/55/_images/Picture7.png
Binary file added dipy.org/pull/55/_images/Picture8.png
Binary file added dipy.org/pull/55/_images/Step1.png
Binary file added dipy.org/pull/55/_images/Step2.png
Binary file added dipy.org/pull/55/_images/Vij_equation.png
Binary file added dipy.org/pull/55/_images/corpuscallosum_axial.png
Binary file added dipy.org/pull/55/_images/denoise_b0.png
Binary file added dipy.org/pull/55/_images/denoise_b0_piesno.png
Binary file added dipy.org/pull/55/_images/denoise_b2000.png
Binary file added dipy.org/pull/55/_images/dipy1.png
Binary file added dipy.org/pull/55/_images/dipy10.jpeg
Binary file added dipy.org/pull/55/_images/dipy11.jpeg
Binary file added dipy.org/pull/55/_images/dipy12.jpeg
Binary file added dipy.org/pull/55/_images/dipy13.png
Binary file added dipy.org/pull/55/_images/dipy14.jpg
Binary file added dipy.org/pull/55/_images/dipy2.png
Binary file added dipy.org/pull/55/_images/dipy3.jpeg
Binary file added dipy.org/pull/55/_images/dipy4.jpeg
Binary file added dipy.org/pull/55/_images/dipy5.jpeg
Binary file added dipy.org/pull/55/_images/dipy6.png
Binary file added dipy.org/pull/55/_images/dipy7.png
Binary file added dipy.org/pull/55/_images/dipy8.jpeg
Binary file added dipy.org/pull/55/_images/dipy9.jpeg
Binary file added dipy.org/pull/55/_images/dki_dirs_final_post.png
Binary file added dipy.org/pull/55/_images/dki_geometries.png
Binary file added dipy.org/pull/55/_images/dki_odfs_final_post.png
Binary file added dipy.org/pull/55/_images/dki_peaks.png
Binary file added dipy.org/pull/55/_images/dm3d-monai-B8-DM500.png
Binary file added dipy.org/pull/55/_images/eigenvalues.png
Binary file added dipy.org/pull/55/_images/fibercup_replicated.png
Binary file added dipy.org/pull/55/_images/formula_.png
Binary file added dipy.org/pull/55/_images/gODF_equa.png
Binary file added dipy.org/pull/55/_images/piesno_DKI.png
Binary file added dipy.org/pull/55/_images/piesno_mask.png
Binary file added dipy.org/pull/55/_images/tensor_ellipsoids.png
Binary file added dipy.org/pull/55/_images/vq-vae-results.png
Binary file added dipy.org/pull/55/_images/vqvae-monai-B12-CC.png
Binary file added dipy.org/pull/55/_images/vqvae3d-monai-B10.png
Binary file added dipy.org/pull/55/_images/vqvae3d-monai-B5.png
Binary file added dipy.org/pull/55/_images/vqvae3d-reconst-f2.png
Binary file added dipy.org/pull/55/_images/vqvae3d-reconst-f3.png
3 changes: 3 additions & 0 deletions dipy.org/pull/55/_sources/blog.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
====
Blog
====
19 changes: 19 additions & 0 deletions dipy.org/pull/55/_sources/calendar.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
.. _calendar:

========
Calendar
========

You can stay updated with upcoming DIPY_ events. Checkout our events calendar.

.. raw:: html

<iframe class="calendar" src="https://calendar.google.com/calendar/embed?src=uv8c50fkfvs529837k298ueqh0%40group.calendar.google.com&ctz=America%2FIndiana%2FIndianapolis" title="DIPY Calendar"></iframe>


Get Calendar
--------------
You can also add DIPY_ calendar to your google calendar with this `link. <https://calendar.google.com/calendar/u/0?cid=dXY4YzUwZmtmdnM1Mjk4MzdrMjk4dWVxaDBAZ3JvdXAuY2FsZW5kYXIuZ29vZ2xlLmNvbQ>`_

.. include:: links_names.inc

6 changes: 6 additions & 0 deletions dipy.org/pull/55/_sources/index.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
.. toctree::
:maxdepth: 2
:hidden:

blog
calendar
56 changes: 56 additions & 0 deletions dipy.org/pull/55/_sources/posts/2015/2015_05_17_Rafael.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
First post after acceptance! =)
===============================

.. post:: May 17 2015
:author: Rafael Henriques
:tags: google
:category: gsoc

Personal Note
-------------

Hi all,

I am please to inform that my project proposal was accepted to the Google Summer of Code!

Congrats to everyone that was also accepted!!! This definitely will be an exciting summer!

As I mentioned on my last post, I will be implementing some exiting MRI techniques which allows us to see brain connectivity in vivo - how awesome is that?

The following weeks I will give you more details about this. Keep tuned and you could explore the brain with me!

Greetings from Cambridge (UK),

`Rafael N.H. <https://github.com/RafaelNH>`__
PhD Student at the University of Cambridge


Before the Student Coding Period
--------------------------------

I am currently working on some simulations that will be useful for testing the imaging techniques that I will be implementing.

I start this work before applying to the GSoC (https://github.com/nipy/dipy/pull/582), and in the last weeks I have been improving it. At the moment, simulations are almost complete - codes are running without errors and they are written in PEP8 standards. Now I only have to add some automatic debugging scripts using Nose python testing.

During the following week, I will discuss the work done so far with my mentors (in particular I want to discuss some minor changes on the current scripts) and fix problems that I am facing in creating the automatic debugging scripts.

Minor details to discuss with mentors:

1) Suggestion on changes on the default values of the simulations modules

2) Discuss if is better to remove some unnecessary inputs or have redundant computing steps.

3) Discuss the definition of some important variables that will be used in future steps.

Problems to fix during this week:

1) Resolve problems in recognizing paths where the new version of modules are locally located.

2) Fix error when trying to run Nose:

.. code-block:: zsh
:linenos:
Cannot run $ nosetests test_voxel.py
ERROR: Failure: ImportError (No module named runspeed)
60 changes: 60 additions & 0 deletions dipy.org/pull/55/_sources/posts/2015/2015_05_24_Rafael.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
Time to start mapping brain connections and looking to brain properties in vivo
===============================================================================

.. post:: May 24 2015
:author: Rafael Henriques
:tags: google
:category: gsoc

Hi all,

Tomorrow we are starting the coding period :), so it is time for some details about my project and tell you what was done in the community bonding period.

1) How can we study brain connections and brain's tissue properties in vivo? - A simple introduction for non experts

Trajectory of neuronal connections (tractography) and quantification of tissue properties in the living human brain can be obtain from measures of water diffusion using MRI scans. To give you an example how this is done, I will first start by describing one of the simplest technique - the diffusion tensor imaging (DTI).

By combining the information of several diffusion weighted images, DTI models the water diffusion for each image element using a tensor which can be represented by an ellipsoid (see Figure below).

.. figure:: /_static/images/gsoc/2015/rafael/tensor_ellipsoids.png
:alt: tensor_ellipsoids
:width: 400px
:align: center

Figure 1. Diffusion tensors computed from all voxels of a real brain image. This image was produced using Dipy as described in Dipy's website.

From figure 1 we can see that diffusion is larger is some directions. In fact the direction of larger diffusion can be related to the direction of brain's white matter fibers. The axon myelin sheaths restricts the water diffusion and thus diffusion is smaller on the directions perpendicular to fibers. On the other hand, the diffusion parallel to fibers is less restricted and therefore matching the direction of fibers.

Based on this, 3D virtual reconstruction of brain connection can be obtain using specific tracking algorithms - a procedure which is named fiber tracking. An example of this 3D maps obtain from a real brain dataset is shown below.

.. figure:: /_static/images/gsoc/2015/rafael/corpuscallosum_axial.png
:alt: corpuscallosum_axial
:width: 400px
:align: center

Figure 2. Example of corpus callosum fibers. These fibers connect the left and right fiber hemispheres. This image was produced using Dipy as described in Dipy's website.

Nowadays, DTI is still one of the diffusion weighted techniques most used in both clinical applications and in many research studies, however it is not always accurate. DTI cannot account properly for the crossing of different populations of white-matter fiber connections. Moreover, it ignores the non-Gaussian properties of diffusion in biological tissues which can be used to derive interesting and important measures of tissue properties.


1) Project proposal

In this project, I will be implementing an alternative the diffusion-weighted technique named the diffusion kurtosis imaging (DKI) in an open source software project, the Diffusion Imaging in Python (Dipy). DKI overcomes the two major limitations of DTI:
It quantifies the non-Gaussian properties of water diffusion in biological tissues by modelling the kurtosis tensor (KT) which can be used to derive important tissue measures as the density of axonal fibers.
Relative to the diffusion tensor, KT is also shown to offer a better characterization of the spatial arrangement of tissue microstructure and can be used as a basis for more robust tractography. Particularly, DKI based tractography is sensitive to resolve crossing fibers.

3) What is done so far

As an update of what I posted previously (see Post #2), I finished the work on DKI's simulations - procedures that will be useful for testing the codes that I will be implementing during this summer. In particular, as my mentor suggested, I added some automatic debugging scripts using Nose python testing. These scripts are now insuring that the kurtosis tensor is symmetry (as expected) and that simulations are able to currently produce the diffusion tensor and kurtosis tensor in both cases of well aligned and crossing fibers.

Many thanks to my mentor for teaching me how to work with nose python testing. In particular, the useful tip running the nose tests and knowing which lines the testing scripts are covering by using the following command:

.. code-block:: zsh
:linenos:
nosetests -v dipy/sims/tests/test_voxel.py --with-coverage --cover-package=dipy
4) Next steps

After merging the DKI simulations to Dipy's master brunch, I will start working on the DKI reconstruction modules, based on some preliminary preparation work previously submitted by other dipy contributors. At the end of the week, I intend to finish the first part of the DKI reconstruction modules - the KT estimation from diffusion-weighted signals. For this I will implement the standard ordinary linear least-squares (OLS) solution of DKI.
98 changes: 98 additions & 0 deletions dipy.org/pull/55/_sources/posts/2015/2015_06_05_Rafael.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
First report (1st week of coding, challenges and ISMRM conference)
==================================================================

.. post:: June 05 2015
:author: Rafael Henriques
:tags: google
:category: gsoc

The coding period started in a challenging way.

As I mentioned on my previous post, I started the coding period by merging the work done during the community bonding period to the main Dipy master repositories. This was not as trivial as expected since some latest updates on the Dipy master repositories was causing conflicts with my codes.

Rebasing
--------

To solve this conflicts, I used git rebase (I want to thank my mentor Dr Ariel Rokem for his useful tips on how to do this). For more details on rebasing you can find a nice tutorial here. To summarize, below you can find the essential steps to rebase a branch:

1) make sure that the master branch of your computer have the latest changes, for this:

.. code-block:: zsh
:linenos:
git checkout master
git pull upstream master
2) start rebasing by moving the work done on your branch to the updated version of the master:

.. code-block:: zsh
:linenos:
git checkout your_branch
git rebase master
3) If there is a conflict, automatic rebasing stops so you can manually update the files. The parts of the script with conflict will be pointed as the lines between markers >>>> and ====.

4) After manually resolving a conflict, you can add the corrected files and continue rebasing using:

.. code-block:: zsh
:linenos:
git add file
git rebase --continue
5) When rebasing is accomplished, you can update the changes to your fork by typing:

.. code-block:: zsh
:linenos:
git push -f origin your_branch
After rebasing Problem #1
^^^^^^^^^^^^^^^^^^^^^^^^^

After rebasing, I noticed some problem on Dipy's master compilation. Fortunately, with the help of all the amazing Dipy team, this problem was quickly addressed (for more information see here).

After rebasing Problem #2 - the right order to reconstruct the diffusion tensor
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

This is a good example why testing modules are so important.

After solving problem #1, one of my testing modules was failing since the simulated diffusion tensors were given unexpected results (to know what is a diffusion tensor read my previous post).

Basically on my simulations, the diffusion tensors are reconstructed from eigenvalues and eigenvectors decomposition. After some hours of debugging, I realized the cause of the logic error. The eigenvalues given by an updated master's function was transpose relatively to its previous version. So, for the ones also working with second order tensors, make sure that when reconstructing the tensor from its eigenvalues and eigenvectors decomposition you use the matrix multiplication in the following order:

.. code-block:: zsh
:linenos:
import numpy as np
from numpy import dot
::

Tensor = dot(dot(R.T, np.diag(mevals)), R)

where
::

R = [eigenvector1, eigenvector2, eigenvector3]

and
::

mevals = [eigenvalue1, eigenvalue2, eigenvalue3]

ISMRM Conference
----------------

As I mentioned on my proposal, this week I also attended the 23rd annual meeting of the International Society of Magnetic Resonance in Medicine (ISMRM). The conference was very productive. In particular, I had some nice discussions with the top experts on diffusion kurtosis imaging (DKI) and their feedback will be taken into account so that my work during the summer of code is done according to the most recent state of art of the field.

It was also great to personally meet the Dipy developers and promoting the open source software. I had very nice feedback from different research groups and there were many new researchers interested in using Dipy and/or willing to collaborated with its development. Soon I will post some photos of the conference =).

Next steps
----------

My mentor suggested a small change on the example codes for the DKI simulation usage. I am currently finalizing this, so soon I will be posting the final version of the DKI simulations.

In the following days, I will also create a pull request with the work started on DKI reconstructions modules. As mentioned on my proposal, the implementation of these modules are the objective for my midterm evaluation.
Loading

0 comments on commit e7dea60

Please sign in to comment.