2

This question has been asked before as Using thematic layer for segmentation in eCognition?.

However, I have not been able to resolve the issue using the answer provided.

Can someone clarify the correct procedure?

I would like to restrict all segmentation and classification processes to take place within areas (polygons) covered by my thematic layer rather than the whole scene.

I have successfully carried out a chessboard segmentation using my thematic layer so the polygons from my thematic layer are now image objects. I then used the 'assign class' algorithm to assign those image objects to one class. I then attempted to carry out an additional segmentation at the image object level using the class filter to select my new class. However, the segmentation was still carried out on the entire scene.

The only instance where my steps have differed to those recommended at Using thematic layer for segmentation in eCognition? is when I was unable to see how to assign a class based on the "number of overlaps". I assigned my image objects to a single class without using "number of overlaps".

0

1 Answer 1

2

After battling with this issue for several days I have finally resolved it. I will outline the steps I took:

  1. Perform a chessboard segmentation using your thematic layer. Perform it at the pixel level and set the object size to a number greater than the number of pixels in your image. (Take care not to put a comma in the object size number or it won't work, e.g. 1000000 not 1,000,000). The polygons in your thematic layer are now represented by image objects.

  2. Append a new process. Select the Assign Class algorithm. In the Edit Process window change the Value field next to the Use Class parameter from 'Unclassified' to a new name (whatever you wish to name your class). The Domain should read 'image object level'. Select the Value field next to the Condition parameter. The Edit Condition window opens. In the Value 1 field select 'From Feature'. Expand 'Object features' and 'Thematic attributes'. Select 'Create new Number of overlapping thematic objects'. Back in the Edit Condition window in the Operator field choose the greater than sign '>'. The Value 2 field should read '0' (zero). Select Execute. You have now assigned the image objects to a class.

(Note: when you edit the name of the Use Class field the Class Description window will open. You can use this window to assign classes using a threshold, however for my purpose I needed to assign the class using a condition so I closed this window.)

  1. Perform an additional segmentation (e.g. multi-resolution) at the image object level. Select the Value field next to the Class Filter parameter and check the box next to the class you created in step 2. Thematic layer usage can be set to 'No'. The segmentation will now perform only on the image objects from the class selected in the Class Filter, i.e. the segmentation will perform only on areas covered by your thematic layer.
1
  • Good to see that you managed to find a solution to your problem. Feel free to accept your own answer, to mark the question as resolved. Aug 3, 2020 at 14:53

Not the answer you're looking for? Browse other questions tagged or ask your own question.