View Issue Details

IDProjectCategoryView StatusLast Update
0003742Slicer4Module EMSegmentpublic2018-03-02 11:06
Reporterpohl Assigned Tojcfr  
PriorityhighSeveritymajorReproducibilityalways
Status closedResolutionfixed 
PlatformMACOSon different OSOS Version
Product VersionSlicer 4.3.1-2 
Target VersionSlicer 4.4.0Fixed in VersionSlicer 4.4.0 
Summary0003742: Only on Precompiled MAC builds: path of OtsuThresholdImageFilter is not found
Description

Only on precompiled MAC builds the following error occurs when executing EMSegmenter

==== Creating Mask ====
Executing "" --numberOfBins 200 --outsideValue 1 --insideValue 0 "/var/folders/ly/d_c0_b652kj_8hns4wsbh14h0000gn/T/Slicer/EMSD1108963306ySUkUX/input.nrrd" "/var/folders/ly/d_c0_b652kj_8hns4wsbh14h0000gn/T/Slicer/EMSD1108963306ySUkUX/mask.nrrd"
ERROR: In /Users/kitware/Dashboards/Nightly/Slicer4/Libs/MRML/Core/vtkMRMLVolumeArchetypeStorageNode.cxx, line 367
vtkMRMLVolumeArchetypeStorageNode (0x140d1d1a0): ReadData: Cannot read file as a volume of type Volume[fullName = /var/folders/ly/d_c0_b652kj_8hns4wsbh14h0000gn/T/Slicer/EMSD1108963306ySUkUX/mask.nrrd]
Number of files listed in the node = 0.
File reader says it was able to read 0 files.
File reader used the archetype file name of /var/folders/ly/d_c0_b652kj_8hns4wsbh14h0000gn/T/Slicer/EMSD1108963306ySUkUX/mask.nrrd []

so

Executing "" --numberOfBins 200 --outsideValue 1 --insideValue 0 "/var/folders/ly/d_c0_b652kj_8hns4wsbh14h0000gn/T/Slicer/EMSD1108963306ySUkUX/input.nrrd" "/var/folders/ly/d_c0_b652kj_8hns4wsbh14h0000gn/T/Slicer/EMSD1108963306ySUkUX/mask.nrrd"

is incorrect - it should say

Executing "<path>/OtsuThresholdImageFilter" --numberOfBins 200 --outsideValue 1 --insideValue 0 "/var/folders/ly/d_c0_b652kj_8hns4wsbh14h0000gn/T/Slicer/EMSD1108963306ySUkUX/input.nrrd" "/var/folders/ly/d_c0_b652kj_8hns4wsbh14h0000gn/T/Slicer/EMSD1108963306ySUkUX/mask.nrrd"

Steps To Reproduce

On the Precompiled MAC install
Step 1 : Download brain MR sample data set
Step 2 : Go to EMsegmenter with Atlas -> Select Advanced
Step 3: Select MR head and press next until windows pops up about preprocessing is about to start - do you want to continue - > Press ok

After a couple of seconds you will get an error message that preprocessing did not execute correctly

Additional Information

I compiled Slicer on a MAC, it passes all tests. When I execute the previous steps on that Build the error does not occur. When I generate a package of it (via make package) and then execute the steps in the resulting precompiled build, the error happens.

The error does not happen on the precompiles of Windows and Linux.

The code that causes the error is in vtkEMSegmentLogic.cxx line 3849

CMD << "\"" << this->GetPluginWithFullPath("OtsuThresholdImageFilter") <<"\" --numberOfBins 200 --outsideValue 1 --insideValue 0 \"" << inputFileName << "\" \"" << maskFileName << "\"";

where this->GetPluginWithFullPath("OtsuThresholdImageFilter")

executes this->GetSlicerCommonInterface()->GetPluginWithFullPath(pluginName);

which in line 595 of vtkSlicerCommonInterface.cxx executes

this->returnString = std::string(vtksys::SystemTools::FindProgram(pluginName));

=> PATH of API OtsuThresholdImageFilter is not found

TagsNo tags attached.

Relationships

related to 0003730 closedjcfr Additional launcher setting are not added to the environment 

Activities

pohl

pohl

2014-07-25 20:24

developer   ~0012246

easy way to replicate:
call in python window os.environ["PATH"]
if there is no path listed ending with cli-modules/. then api wont be found

pohl

pohl

2014-07-25 20:27

developer   ~0012247

checked a work around in r23486 (slicer 4 trunk) and r17073 (EMSegment branch)

std::vector < std::string > additionalPath;
std::string cliModulePath;

if (vtksys::SystemTools::GetEnv("ITK_AUTOLOAD_PATH", cliModulePath))
{
cliModulePath += std::string("/../cli-modules/.");
additionalPath.push_back(vtksys::SystemTools::CollapseFullPath(cliModulePath.c_str()));
}

this->returnString = std::string(vtksys::SystemTools::FindProgram(pluginName,additionalPath));

I tested it and it works on my mac when running the package version

jcfr

jcfr

2014-09-25 12:43

administrator   ~0012588

This is most likely fixed by r23683

See http://viewvc.slicer.org/viewvc.cgi/Slicer4?view=revision&amp;revision=23683

Issue History

Date Modified Username Field Change
2014-06-19 10:32 pohl New Issue
2014-06-19 10:32 pohl Status new => assigned
2014-06-19 10:32 pohl Assigned To => jcfr
2014-07-19 16:03 jcfr Relationship added related to 0003730
2014-07-25 20:24 pohl Note Added: 0012246
2014-07-25 20:27 pohl Note Added: 0012247
2014-07-25 20:27 pohl Status assigned => feedback
2014-09-25 12:43 jcfr Note Added: 0012588
2014-09-25 12:43 jcfr Status feedback => resolved
2014-09-25 12:43 jcfr Fixed in Version => Slicer 4.4.0
2014-09-25 12:43 jcfr Resolution open => fixed
2018-03-02 11:06 jcfr Status resolved => closed