Difference between revisions of "Projects:ARRA:SlicerEM Meeting 07202010"

From NAMIC Wiki
Jump to: navigation, search
Line 6: Line 6:
 
= Attendants =
 
= Attendants =
 
* Kilian Pohl
 
* Kilian Pohl
* Sebastien Barre
+
* <del>Sebastien Barre</del>
 
* Jean-Christophe Fillion-Robin
 
* Jean-Christophe Fillion-Robin
 
* Julien Finet
 
* Julien Finet

Revision as of 22:16, 20 July 2010

Home < Projects:ARRA:SlicerEM Meeting 07202010

Back to SlicerEM:Developer page

Purpose

  • Address question related to EMSegmentLogic

Attendants

  • Kilian Pohl
  • Sebastien Barre
  • Jean-Christophe Fillion-Robin
  • Julien Finet

Resources

See Example Workflow

Questions

  • vtkSlicerEMSegmentLogic - Old vs New pipeline

What the status regarding the two sets of methods ?

  • ComputeIntensityDistributionsFromSpatialPrior / UpdateIntensityDistributionAuto
int numTargetImages = workingTarget->GetNumberOfVolumes();
//
//   // Sample
//  {
//    vtksys_stl::stringstream CMD ;
//    CMD <<  "::EMSegmenterAutoSampleTcl::EMSegmentGaussCurveCalculationFromID " << vtkKWTkUtilities::GetTclNameFromPointer(app->GetMainInterp(), this->MRMLManager) << " 0.95 1 { " ;
//    for (int i = 0 ; i < numTargetImages; i++) {
//      CMD << workingTarget->GetNthVolumeNodeID(i) << " " ;
//    }
//    CMD << " } " << this->MRMLManager->GetVolumeNode(this->MRMLManager->GetTreeNodeSpatialPriorVolumeID(nodeID))->GetID() << " {" <<  this->MRMLManager->GetTreeNodeName(nodeID) << "} \n";
//    // cout << CMD.str().c_str() << endl;
//    if (atoi(app->Script(CMD.str().c_str()))) { return; }
//  }
//
//  //
//  // propogate data to mrml node
//  //
//
//  vtkMRMLEMSTreeParametersLeafNode* leafNode = this->MRMLManager->GetTreeNode(nodeID)->GetParametersNode()->GetLeafParametersNode();
//  for (int r = 0; r < numTargetImages; ++r)
//    {
//      {
//    double value = atof(app->Script("expr $::EMSegment(GaussCurveCalc,Mean,%d)",r));
//    leafNode->SetAutoLogMean(r, value);
//      }
//      for (int c = 0; c < numTargetImages; ++c)
//      {
//    double value = atof(app->Script("expr $::EMSegment(GaussCurveCalc,Covariance,%d,%d)",r,c));
//    leafNode->SetAutoLogCovariance(r, c, value);
//      }
//    }

See Modules/EMSegment/Tcl/EMSegmentAutoSample.tcl

Meeting note

  • Old pipeline method -> Slice 3.4, New pipeline method -> Slicer3.6
  • Focus should be on NewPipeline method
  • Since TCL (according to Steve) should be available within Slicer4, the port of EMSegmentAutoSample related functionality is low priority