If you use only ITK’s regular filters, there is absolutely no need to convert values to [0,1] range. Additionally, if you will be writing the filtered output to the same pixel format you originally read it in, there is not much benefit if you go to double as an internal pixel format.
For example, if the original pixel’s value is 7, but after smoothing in double it is 8.17, when you convert it back to integral pixel type it will become 8. If you skip conversion to double, smoothing filter will do conversion back to integral type and directly calculate 8.
Edit: if you have a lot of internal processing steps, then it makes a little more sense to use a floating point type. But I recommend float, not double. Doing computations on floats is faster, and they take up half as much memory.