Daily Journal

24.11.2025


25.11.2025

  • Meeting with Prof. Esteban
  • Prepared the DIPY development environment
    • Installation steps
      • Create a venv and source it (or use uv venv and uv pip …)
      • To build the project
        • sudo dnf install python3-devel
        • pip install -r requirements/build.txt
        • pip install –no-build-isolation -e .
      • To build the documentation
        • pip install sphinx
        • pip install sphinx_gallery
        • pip install numpydoc
        • pip install sphinxcontrib-bibtex
        • pip install sphinx-design
        • pip install grg-sphinx-theme
      • To use the correct formatting
        • pip install –no-build-isolation -e .[style]
        • pip install pre-commit
        • pre-commit install
  • Started to look at the current gqi predict code and pull request
  • Continued reading the Nipreps book (tried to fix a latex rendering error unsuccessfully)

26.11.2025

  • Finished reading the Nipreps book
  • Continued to look at the current gqi code and made small changes on the enh/gqi-predict-dev branch
    • Changed GeneralizedQSamplingFit odf function to take a sphere parameter (see commit)
    • Changed the GeneralizedQSamplingFit predict function to use clamping to remove negative value predictions (see commit)
  • Created a small marimo notebook to test and understand the prediction function on the enh/gqi-predict-notebooks branch (see commit)

27.11.2025

  • Changed the GeneralizedQSamplingFit predict function to use the model mode when calling the predict_kernel function. Also made the predict function work for multi-voxels (see commit)
  • Started gqi predict tests with (see commit)
    • Single-voxel basic test
    • Single-voxel meaningful test
    • Multi-voxel basic test
    • Multi-voxel meaningful test
  • Meeting with Prof. Esteban
  • Did 2 marimo notebooks on the enh/gqi-predict-notebooks branch (see commit)
    • A notebook regarding the roundtrip predictions on already seen data (see notebook)
    • A notebook regarding cross voxel predictions (see notebook)
  • Created the 303.1-semester-project github page (see page)

28.11.2025


01.12.2025

  • Started working on the cross validation prediction test
  • Worked on the project documentation (see documentation)
    • Added a quarto theme
    • Added sources + daily diary pages
    • Added mermaid Gantt diagram
    • Worked on the report structure (see report)

02.12.2025

  • Added unseen data prediction tests + Cleaned gqi predict functions and existing tests (see commit)
  • Refactored the gqi predict and prediction_kernel functions to work according to DIPY’s ODF formula:
    \(ODF = S \cdot K\) (see commit)
  • Wrote the The different needed helper functions and The predict function and it’s implementation sections in the report (see commit)

03.12.2025

  • Meeting with Prof. Esteban
  • Started working on the unseen data prediction notebook (see commit)

04.12.2025

  • Continued working on the unseen data prediction notebook (see commit and notebook)
  • Began the DIPY prediction documentation example (see commit)
  • Revised predict function according to DIPY conventions (not pushed yet)

06.12.2025

  • Added brain mask + interceptor + b0 volumes separation to gqi_unseen_data_notebook (see commit and notebook)
  • Commented the shapes of the GeneralizedQSamplingFit predict and prediction_kernel functions (see commit)
  • Optimized the predict multi voxel case a bit (see commit)
  • Updated the report

07.12.2025

  • Optimized GeneralizedQSamplingFit prediction_kernel function + Added prediction_kernel test which tests: (see commit)
    • Correct output shape
    • K @ K_plus @ K ≈ K
    • K @ K_plus is symmetric
    • K_plus @ K is symmetric
  • Made GeneralizedQSamplingFit predict function faster by fusing kernels therefore avoiding the explicit ODF calculation (see commit)

08.12.2025

  • Continued the DIPY prediction documentation example (see commit)

09.12.2025

  • Meeting with Prof. Esteban
  • Removed the gqi2 method and b0 volumes from the prediction tests (see commit)
  • Removed gqi_cross_voxel_notebook + Removed b0 values from train set in gqi_roundtrip_notebook + Cleaned gqi_unseen_data_notebook (see commit)

10.12.2025

  • Cleaned the gqi_unseen_data_notebook (see commit)
  • Continued the DIPY prediction documentation example (see commit and example)

11.12.2025

  • Updated README + Worked on the presentation (see commit)

12.12.2025


13.12.2025


14.12.2025


15.12.2025


16.12.2025


17.12.2025