-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Simplify and add more unit tests #42
Comments
Since the actual in vivo data set has no known ground truth, perhaps it should be removed and the QIBA phantom should be the demo. Then the validation would occur on a handful of fake voxels with known parameter values that are checked in |
In fact, the nightly build seems to be failing due to a bug in |
I've never used the command line version, so can't really comment on that. The parallel processing ( Yes to moving demo and validate. I have no opinion on The plotting code doesn't seem to be causing any problems. It'll even be out of sight if demo/validate are moved to test. I think it'll be useful for each model to have its own fitting function - e.g. Another change - which might be unfeasible - is to reduce the size of the package by removing unnecessary files, such as the DICOM files of the QIBA phantoms. The problem there is that git tracks the files, so they're never truly gone. They could be purged from the git history, but then the peerj paper is no longer reproducible. |
The overhead for keeping parallel functionality is a slower single CPU fit, since it still runs through the same framework, and of course code bloat with code that is especially difficult for the casual user to understand. It looks like I don't understand why each model should have it's own fitting function. Why is the numbered model paradigm not working for you? I'd like to remove the DICOMs and replace them with something like |
I guess parallel processing could be removed if it's slowing down the single CPU fit, as that will be how most people use the package. It could be replaced by adding The problem I see is that I think the new package managed (Pkg3) is supposed to use shallow clones, so that might speed up installation after removing auxiliary files. But, anyone wanting to contribute to the package will still have to download the entire git history. |
I'm not entirely happy with the number of dependencies and helper functions for what is essentially a glorified non-linear least squares fitting code. I would be happier if it were distilled to its essential functions and all of those functions were unit tested on small, known data sets, rather than the QIBA phantom.
To start the discussion, I propose removing:
demo
andvalidate
totest/
jacobian
fromCalculus.jl
with a simpler, inline expressionUnicodePlots
These are just ideas. I'll think about it for a while and take any comments the community has.
The text was updated successfully, but these errors were encountered: