You have quite a number of options. The simplest is to use the LabelStatisticsImageFilter. Then there is the LabelMap framework which has the ShapeLabelObject which can be transformed from a regular label image with LabelImageToShapeLabelMapFilter to the run-length encoded label object with attribute.
As you said you have a large image, so memory constrains and streaming may also be of interest to you. I have created an ITK External Module called itkStreamingSinc which contains a filter called BoundingRegionImageSinc to perform streaming and computation of just the bounding image region in an out of core streaming process.