Domain Is Empty
♪┏(・o・)┛♪ WELCOME TO THE CLUB ♪┗ ( ・o・) ┓♪
Congratulations! You managed to receive THE eCognition error message that everyone (really everyone, beginner to experts and super nerds) receive from time to time. Good thing for us is, that this is not a Software error, this is you, the user (sorry... ;)).
What does it mean, and how to handle it?!?
The error "Domain is empty" means, that the process does not find any objects based on the domain definitions. This could be the "Level", "Class filter", "Condition", etc.. It actually can be seen as a "filtering" of objects that the process should consider.
If no objects are found based on these filter definitions (AND condition) you will get this error "Domain is empty". If you receive this error message, first of all, don't panic! This can easily be fixed by checking the domain parameters and making sure that there are objects that the algorithm can work with.
Example I
You want to reclassify the class water and you are using the "assign class" algorithm. In the domain you have defined the Level "Level 1" and a Class filter “water”. After executing it, you receive the error message "Domain is empty" (NOOOOOOOOOOOOOOOOOOOOOOOOO!!!!). This is how eCognition actually tells you, that there is no object classified as “water” on that level, either one of those parameters can not be fulfilled or both.
A solution would be to adjust the class filter, if you did not intend to only address the water class for this process but the class forest, which actually exists on this level, or adjust the Level (if you maybe have multiple levels and the water class that you want to address is on Level 2). This depends on what your initial intention was. Take a few seconds and evaluate which of the two solutions would work for this scenario:
Solution 2 (adjust the Level) would be the correct answer. As you see in the view settings we do have the class "water" but we actually have one level that is called "New Level" and not "Level 1". If you adjust the "Level" domain settings in the Parameter from "Level 1" to "New Level" it would run smoothly!
Example II
Have a look at the next screenshot and take a few seconds to think about what causes this error message in this specific case?
YES!!! It only can be the map definition! First of all, the Level is correct (“New Level”). We do have the class “water” on this level and we at least have one object (the selected) fulfilling also the condition: Mean NDWI <= 0 (see the Image Object Information window on the right). That means, that one of the other parameters has to be wrong and in this case it’s the Map definition. We only have the main map, but not a map2!
Conclusion
If you receive this error message, you are not alone! The reason however is fairly simple, the domain definition is incorrect and no object can be found that fulfills your domain definition. This means, you will need to check the domain definitions and make sure, that at least one object can be handled by the process!
Was this article helpful?
2 comments
This is really helpful, true, and funny. Thank you! (ツ)
I have been waiting for this error message to be explained and you nailed it! Thanks!!