- itk::ImageSliceConstIteratorWithIndex<ImageType> it(temp, temp->GetRequestedRegion());
- itk::ImageRegionIterator<SliceType> * ot;
- typename SliceType::Pointer slice;
- it.SetFirstDirection(0);
- it.SetSecondDirection(1);
- it.GoToBegin();
- typename SliceType::RegionType mSliceRegion;
- typename SliceType::IndexType mSliceIndex;
- typename SliceType::SizeType mSliceSize;
- typename SliceType::SpacingType mSliceSpacing;
- typename SliceType::PointType mSliceOrigin;
- mSliceIndex[0] = temp->GetLargestPossibleRegion().GetIndex()[0];
- mSliceIndex[1] = temp->GetLargestPossibleRegion().GetIndex()[1];
- mSliceSize[0] = temp->GetLargestPossibleRegion().GetSize()[0];
- mSliceSize[1] = temp->GetLargestPossibleRegion().GetSize()[1];
- mSliceSpacing[0] = temp->GetSpacing()[0];
- mSliceSpacing[1] = temp->GetSpacing()[1];
- mSliceOrigin[0] = temp->GetOrigin()[0];
- mSliceOrigin[1] = temp->GetOrigin()[1];
- mSliceRegion.SetIndex(mSliceIndex);
- mSliceRegion.SetSize(mSliceSize);
- int i=0;
- while( !it.IsAtEnd() ) {
- // DD(i);
- slice = SliceType::New();
- slice->SetRegions(mSliceRegion);
- slice->SetOrigin(mSliceOrigin);
- slice->SetSpacing(mSliceSpacing);
- slice->Allocate();
- ot = new itk::ImageRegionIterator<SliceType>(slice, slice->GetLargestPossibleRegion());
- ot->GoToBegin();
- // DD(it.GetIndex());
- while(!it.IsAtEndOfSlice()) {
- // DD(ot->GetIndex());
- while(!it.IsAtEndOfLine()) {
- ot->Set(it.Get());
- ++it;
- ++(*ot);
- }
- it.NextLine();
- }
- mImageSlices.push_back(slice);
- it.NextSlice();
- ++i;
- }
- writeImage<SliceType>(mImageSlices[10], "slice.mhd");
-
- // Perform RelPos by slice
- for(int i=0; i<mImageSlices.size(); i++) {
- DD(i);
- typedef clitk::AddRelativePositionConstraintToLabelImageFilter<SliceType> RelPosFilterType;
- typename RelPosFilterType::Pointer relPosFilter = RelPosFilterType::New();
- // relPosFilter->SetCurrentStepBaseId(this->GetCurrentStepId());
- relPosFilter->VerboseStepOff();
- relPosFilter->WriteStepOff();
- relPosFilter->SetInput(m_working_image);
- relPosFilter->SetInputObject(temp);
- relPosFilter->SetOrientationType(RelPosFilterType::RightTo);
- relPosFilter->SetIntermediateSpacing(GetIntermediateSpacing());
- relPosFilter->SetFuzzyThreshold(GetFuzzyThreshold1());
- relPosFilter->Update();
- m_working_image = relPosFilter->GetOutput();
+//--------------------------------------------------------------------
+template <class TImageType>
+void
+clitk::ExtractLymphStationsFilter<TImageType>::
+AddComputeStation(std::string station)
+{
+ m_ComputeStationMap[station] = true;
+}
+//--------------------------------------------------------------------
+
+
+//--------------------------------------------------------------------
+template <class TImageType>
+void
+clitk::ExtractLymphStationsFilter<TImageType>::
+ExtractStation_8()
+{
+ if (CheckForStation("8")) {
+ ExtractStation_8_SI_Limits();
+ ExtractStation_8_Post_Limits();
+ ExtractStation_8_Ant_Sup_Limits();
+ ExtractStation_8_Ant_Inf_Limits();
+ ExtractStation_8_LR_1_Limits();
+ ExtractStation_8_LR_2_Limits();
+ ExtractStation_8_LR_Limits();
+ ExtractStation_8_Ant_Injected_Limits();
+ ExtractStation_8_Single_CCL_Limits();
+ ExtractStation_8_Remove_Structures();
+ // Store image filenames into AFDB
+ writeImage<MaskImageType>(m_ListOfStations["8"], "seg/Station8.mhd");
+ GetAFDB()->SetImageFilename("Station8", "seg/Station8.mhd");
+ WriteAFDB();