writer->Update();
}
- typename LabelImageType::LabelObjectContainerType shapes_map = label_map->GetLabelObjectContainer();
- typename LabelImageType::LabelObjectContainerType::const_iterator s;
typename ShapeLabelType::Pointer shape, max_e_shape;
double max_elongation = GetMaxElongation();
double max_size = size[0]*size[1]/128;
double max_e = 0;
int nshapes = 0;
- for (s = shapes_map.begin(); s != shapes_map.end(); s++) {
- shape = s->second;
- if (shape->GetSize() > 150 && shape->GetSize() <= max_size) {
+ unsigned int nlables = label_map->GetNumberOfLabelObjects();
+ for (unsigned int j = 0; j < nlables; j++) {
+ shape = label_map->GetNthLabelObject(j);
+ if (shape->Size() > 150 && shape->Size() <= max_size) {
+#if ITK_VERSION_MAJOR < 4
double e = 1 - 1/shape->GetBinaryElongation();
+#else
+ double e = 1 - 1/shape->GetElongation();
+#endif
//double area = 1 - r->Area() ;
if (e < max_elongation) {
nshapes++;