It is a very good property of CT images that voxel values can have a physical meaning, so I would do all processing in Hounsfield units. When you write the processing result back to DICOM, the writer may use a different range for the stored voxel values than the original image but that should not matter, as long as the scales values in Hounsfield unit remain the same.
Note for table removal: After the erosion that removes a table, you need to not just dilate but also fill all the remaining holes in the mask. Any kind of convex hull algorithm should suffice for this. I’m not sure if ITK has any, but if not then you can use VTK for that step.
You can find a complete implementation of a fully automatic CT table removal algorithm in 3D Slicer’s Sandbox extension. It uses shrinkwrapping algorithm to fill all the holes in the mask. You can use the tool with a convenient GUI in Slicer or you can run it from a Python script in Slicer’s virtual Python environment.