janniklasrose / rwcdti Goto Github PK
View Code? Open in Web Editor NEWRandom Walk for cardiac Diffusion Tensor Imaging
License: MIT License
Random Walk for cardiac Diffusion Tensor Imaging
License: MIT License
The user should be able to run simulations in their units of choice. While the units in the example config files are scaled SI units (it is encouraged to keep track of this somewhere, in this case it is done here), an external geometry file may be in SI units or some other unit depending on how it was generated. Pulse sequence parameters are often expressed in scanner units.
In general, we assume the user knows what they're doing. As long as the units are consistent, there is no need to convert to SI. For the geometry, a scale
option in combination with the file
option inside config.yml
should do the trick to specify a different scale.
scale
option when reading a geometry from fileIf I recall correctly, a significant time is spent remapping the output of the parallel computation. This should be profiled to see if it's worth refactoring.
There is also a warning inside the parfor loop regarding func
. This can be mitigated by introducing an anonymous function fn = @(i) func(i, varargin{:});
before the loop, but I'm not sure if this is the right way to go...
If the user wants to run 1D or 2D simulations the step is added to all three components and is not restricted to either one/two components. Add substrate.dimension
in the substrate.yml
config file and pass in this information into function one_dt
when the step is created. (Currently the dimension of the step is hardcoded to dim=3)
The values in sequences.yml are currently set to 1
as placeholders. They needs to be updated to the correct values used for simulations in the paper.
We should probably provide a small (ASCII) diagram or documentation to explain how all sequence parameters are defined/interpreted, especially because alpha is not a standard parameter.
Allow the user to choose boundary conditions at the end of [Lx,Ly,Lz]
. Currently , the user can choose two types of geometries: full
or block
. In both cases, the walker uses function one_dt()
and checks if the walker is stepping out of the bounding box [Lx,Ly,Lz]
. Periodic boundary would mean that the walker is free to step into the following block whereas reflect would not allow walkers crossing from one box to the other.
Implement a config parameter inside substrate.yml
in order to be able to switch between these two options. The parameter should be called boundary: reflect
or boundary:periodic
.
Continuous integration is now possible with MATLAB and it supports GitHub Actions.
To start:
.yaml
files that fully define the test casesMore advanced testing is possible with the Testing Frameworks available in MATLAB.
Consider adding validators and updating access permissions
Substrate.Transform
, Substrate.Transform.global2local
, Substrate.Transform.local2global
ParticleWalker.seedParticlesInBox
ParticleWalker.one_dt
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.