Closed hackermd closed 9 years ago
I've created the directory dep
, which can contain the functions CellProfiler modules depend on. I think it's better to separate this code from the CPsubfunctions
, because they are not really part of CellProfiler.
You can check the dependencies of your modules by calling
matlab.codetools.requiredFilesAndProducts('myModule.m')
For me this broke with some CPsubfunctions in Matlab 2014a because of syntax errors. We have to look into this.
Currently facing same problem while making clean version of classify_gui.
However I prefer that ultimately different modules/tools such as CellProfiler and classify_gui depend on a single well defined version of functions like "check_image_channel.m", which provide metainformation (rather than copying them to each repository).
Otherwise different modules/tools might at one point start interpreting seemingly identical data quite different (e.g. allocation of wrong channel might only lead to wrong measurements, but no computational error message; also updating/integrating future microscopes - potentially by outside users - will get more tricky, if functions for handling meta-information get fragmented and copied ) .
Created a function to check the module dependencies:
check_module_dependencies()
matlab.codetools.requiredFilesAndProducts()
doesn't list all dependencies! The same is true for depfun()
. Consequently, the function check_module_dependencies()
doesn't provide a full list of all dependencies.
There are alternatives, e.g. fdep, but the problems seems to be that files, which are not on the path, are not listed. What's the point then???
check_module_dependencies
was obviously helpful, but the ultimate test is to run CPP as a part iBRAIN_BRUTUS.
Please reopen this issue if you think it is relevat.
Certain modules do not work independent of other lab repositories. For example 'check_image_channel.m' is not available to the illumination correction module. In my opinion this repository should not depend on other repositories. To this end, all dependent functions should be added either in the directory
CPsubfunctions
or in a new directory.