DataMedSci / pymchelper

Python toolkit for SHIELD-HIT12A and FLUKA
http://datamedsci.github.io/pymchelper/
15 stars 7 forks source link

Moving TRiP98 related code outside pymchelper #145

Open grzanka opened 7 years ago

grzanka commented 7 years ago

Currently we have two converters which generate TRiP98-related stuff. One is tripcube generating dose cubes and another one is tripddd generating DDD files. Both of them require installation of many other packages (i.e. pytrip and all its dependencies, including scipy) which makes dealing with pymchelper more complicated. Moreoever TRiP98 features may seem as additional burden for other users, i.e. interesting in MC simulation outside particle therapy.

My proposition is:

grzanka commented 7 years ago

@nbassler any comments ?

nbassler commented 7 years ago

I think this sounds reasonable.

I think however I may prefer to have them in the PyTRiP utils, instead of making new projects for the PyTRiP group, to avoid more fragmentation and more package installation/releases etc to maintain. What do you think?

grzanka commented 7 years ago

I expect that DDD writer (altogether with SPC writer) may not necessary be distributed as pip package, but can be used by experienced user by cloning GIT repository and running files as python scripts.

Both existing DDD and future SPC do not depend on pytrip98 code at all and are independent on pytrip releasing. They generate files which can be directly used by TRiP98 without need of pytrip itself. Downloading whole https://github.com/pytrip/pytrip to get such a code doesn't make sense (in GIT you cannot clone subdirectory of a repo).

Most of libraries are distributed in the form of many repositories, see: https://github.com/gitlabhq, https://github.com/scipy, https://github.com/numpy.

In order to avoid user seeing too scattered system we could have a chapter in pytrip documentation describing how to make DDD+SPC files (or redirect to pytrip/ddd repo to learn that).

With CUBE data writer it is different - it needs to use pytrip DosCube class to save the data. Thus it is better to be for it a part of pytrip library (i.e. utils). In this form it will be more like "SH12A data importer".