The vision System's task is to take the inputs from the camera ans spit out a DynamicWorld object with all the information in it. It is split into several pipeline stages:

No. Stage Inputs Outputs
1 Input Selection Various BufferedImage
2 Spot Analysis BufferedImage HashMap<SDPColor,ArrayList<Spot>>
3 Undistortion HashMap<SDPColor,ArrayList<Spot>> HashMap<SDPColor,ArrayList<Spot>>
4 Robot Analysis HashMap<SDPColor,ArrayList<Spot>> DynamicWorld
5 Time Analysis DynamicWorld DynamicWorld

The DynamicWorld that is spat out of the Vision System looks like this:

This is a diagram of the pipeline: