-
Notifications
You must be signed in to change notification settings - Fork 147
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
Add 3ddose_tools as a third-party submodule #906
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is great! Let's do the same for egs_brachy
and VICTORIA
?
Edit: Maybe egs_brachy
won't work, because it changes the EGSnrc directories..
Yes, I expect Victoria is easy to submodule. I tried with Right now it is set up via the https://github.com/clrp-code/EGSnrc_CLRP fork, which contains the required tweaks and a submodule in @mchamberland, @MartinMartinov, what do you think? Is there a way you envision doing this? |
@ftessier It's been quite a while since I've looked at I'm open to the idea of a uniform way to install third-party applications, but I think we'll need to check with Dave and Rowan first (and I'll need to remember how to update our Not sure if we'll have this sorted out before you intend to release v2022, though. |
Thanks for chiming in @mchamberland, I will mention it to Dave and Rowan. Yes, folding in |
It's only been 4 months, but already my memory is starting to slip. If I remember correctly, egs_brachy cannot be amalgamated into EGSnrc due to the differences in the way egs_glib (and egs_ndgeometry) handle egsphant files. In egs_brachy, density is defined voxel by voxel, whereas vanilla EGSnrc uses a ramp file for density assignment. It might have been something else, but this is what comes to mind. |
Thanks @MartinMartinov, I will look at differences and opportunities to converge. Is anyone else taking over |
One way to resolve the issue is to provide a patch file within |
I'm unsure of who the go-to GitHub manager is now, unfortunately. |
By the way, this is what we want. It's been on the TODO list for a long time to get rid of the ramp file dependency for egsphant files. |
I think that would be huge. I think the RAMP files and the getMass/getVolume differences (until the recent merge) were the only changes I had to deal with when updating EGSnrc_CLRP with the new EGSnrc distros. |
@MartinMartinov Thanks for chiming in, Martin! @ftessier I volunteered myself to Dave and Rowan to be the official maintainer of the egs_brachy (and EGSnrc_CLRP) repo and they've agreed. Give me some time to re-orient myself in those repos and tidy up a few things, then we can see how to move forward. |
Great info thanks! Also great if you can be the point person on this @mchamberland! If we can get back in sync so that |
ef6c65f
to
213c2c2
Compare
Update README. |
213c2c2
to
97fdf77
Compare
Squashed commits. |
This pull request supersedes #632. The idea is to include the 3ddose_tools as a submodule in
EGSnrc/third-party/
, instead of including the source code itself within EGSnrc.A submodule provides a way to include a git repository within another repository. This way, the submodule authors keep full control of their code development (and user support!) for the third-party software. In fact, EGSnrc is not distributing the software code at this point, but merely a reference to it. This means that developers can even distribute their code under different conditions, e.g., a different licence. This provides exposure as part of the EGSnrc project, and eventually the ability to synchronize the version of third-party content with each EGSnrc release.
When EGSnrc is cloned, submodule content is not downloaded by default (nor are they in the zip file of the EGSnrc project). Users can consult which submodules are available with the
submodule
command, for example:and then decide to download any listed submodule with the submodule
update
command:If the submodule project advances to a new commit, the
git submodule update
command will pull the changes in the submodule directory.Two global settings that are useful when working with submodules:
I will add a README to give some information about third-party content and submodules.