View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0001987 | Slicer4 | Core: Extensions | public | 2012-05-04 14:32 | 2014-03-06 05:06 |
Reporter | jcfr | Assigned To | millerjv | ||
Priority | normal | Severity | minor | Reproducibility | have not tried |
Status | closed | Resolution | fixed | ||
Product Version | |||||
Target Version | Slicer 4.1.1 | Fixed in Version | Slicer 4.1.1 | ||
Summary | 0001987: Add test to SkullStripper extension | ||||
Description | Since SkullStripper is our example of "real' extension, we should really add test. | ||||
Tags | No tags attached. | ||||
How long do we allow tests to run? This is not the sort of algorithm you can run on a "piece" of a dataset. It really needs to run an real dataset. Though we could look at downsampling a dataset. Can our tests reference the data in the "Download Sample Data"? |
|
Data associated with "Sample Data" module are downloaded on demand at run time. That said, I believe the data downloaded by sample data are downloaded from the Slicer wiki which contain link pointing to midas. In other word, testing data could be directly downloaded from midas using the MIDAS.cmake module. |
|
I have an implementation of Midas hosted testing data nearly complete. It uses the ExternalData CMake magic that Kitware developed for ITKv4. Patrick Reynolds helped me with the changes in the Midas Web API since the ITKv4 implementation. The basic idea is that each Extension references data in its local path but that data is simply files that contain hash keys to the real data hosted on Midas. CMake then downloads only the data that is referenced by the tests. The ExternalData design supports sharing a local data store. I am still trying to get the Extensions configured to all store the data in the same local store (so that if multiple Extensions reference the same data, it is only downloaded once). I am also trying to set up the CMake magic so that the main CMake files can be in the Slicer source tree and not the Extension source tree. Finally, the ITK implementation has several layers of complexity that allow the real data to be stored on Midas or just on a website indexed by hash key. I don't think I will understand the CMake magic enough to roll support for all of these options into Slicer. But perhaps a CMake guru can pick up the ball if needed. |
|
1) The common data store location could probably be configure into SlicerConfig.cmake so that all extensions could share it ? If I understood properly, this variable could be "ExternalData_BINARY_ROOT". I don't know yet if this path can be shared between different build that could happen simultaneously. If we find out, such location could probably be "Slicer-Superbuild/../Slicer-ExternalData" 2) By adding "EXternalData.cmake" to Slicer/CMake folder, doing include(ExternalData) within an extension should also work since the CMake module path is already properly configured. See [1] [1] https://github.com/Slicer/Slicer/blob/master/CMake/SlicerConfig.cmake.in#L298 |
|
0000001 - Yes, it is that variable. But so far I haven't been successful is setting it and having it be honored. 0000002 - That is exactly what I was looking for. |
|
Feel free to push a topic on your SkullStripper and Slicer forks so that we can review and share comments. I would also be happy to ask feedback from other folks having experience with ExternalData .. |
|
The branch ExternalDataWIP on my github (millerjv) Slicer4 and SkullStripper repositories show the ExternalData configuration and usage. I haven't been able to configure a single object store for the Slicer and Extensions. I must be doing something wrong. If we configure the ExternalData_URL in Slicer, we probably will not need to set it in the Extensions. But I have it there as an example for now. I'll clean it up later. |
|
See https://github.com/millerjv/SkullStripper/tree/ExternalDataWIP |
|
Dear issue reporter, Good news :) Slicer developers SOLVED the problem you reported - YOU now need to VERIFY and CLOSE this issue. |
|
Closing resolved issues that have not been updated in more than 3 months |
|
Date Modified | Username | Field | Change |
---|---|---|---|
2012-05-04 14:32 | jcfr | New Issue | |
2012-05-04 14:32 | jcfr | Status | new => assigned |
2012-05-04 14:32 | jcfr | Assigned To | => jcfr |
2012-05-15 09:47 | jcfr | Assigned To | jcfr => millerjv |
2012-05-15 09:55 | millerjv | Note Added: 0004405 | |
2012-05-15 10:07 | jcfr | Note Added: 0004406 | |
2012-05-17 05:46 | millerjv | Note Added: 0004452 | |
2012-05-17 06:03 | jcfr | Relationship added | related to 0002060 |
2012-05-17 06:13 | jcfr | Note Added: 0004453 | |
2012-05-17 06:38 | millerjv | Note Added: 0004454 | |
2012-05-17 06:40 | jcfr | Note Added: 0004455 | |
2012-05-18 13:37 | millerjv | Note Added: 0004503 | |
2012-05-26 18:50 | jcfr | Target Version | => Slicer 4.1.1 - June 1st 2012 |
2012-05-26 18:52 | jcfr | Note Added: 0004631 | |
2012-05-27 10:37 | jcfr | Note Added: 0004638 | |
2012-05-27 13:09 | jcfr | Note Added: 0004639 | |
2012-05-27 13:09 | jcfr | Status | assigned => resolved |
2012-05-27 13:09 | jcfr | Fixed in Version | => Slicer 4.1.1 - June 1st 2012 |
2012-05-27 13:09 | jcfr | Resolution | open => fixed |
2012-07-27 15:40 | jcfr | Note Added: 0005367 | |
2014-03-06 05:05 | jcfr | Note Added: 0010911 | |
2014-03-06 05:06 | jcfr | Status | resolved => closed |