How to apply an existing BSpline transformation to points, TransformPoint not working for me?

I do not want to construct another one, I want to apply the existing transform to a set of 3D points. The original BSpline transform was done by registering a fixed image - moving image pair, and the moving image has been deformed to match the fixed image, this is all good. The transform parameters are all saved into disk for future use. Now if there are some special points or geometry drawn on the moving image, say a manual segmentation of an object, how do I apply the transformation to this segmentation (not an image)? I thought I should create the transform (maybe this is what you mean by “construct”) by loading the already saved transform parameters, then call TransformPoint() to transform my points one-by-one, thus the above code. The code ran but doesn’t really do anything. Do I create the transform the right way, or do I miss something?

I think my question is related to SimpleITK: Using TransformPoint() to Transform Mask Vertices, where in their case the TransformPoint() did output new positions for the points, although initially inverted. In my case the points returned by TransformPoint() is simply the same as the input points.