Yes, if the goal is to restrict the results of the command to a subset of nodes from the full surface, I think you would need to get that subset of node coordinates into the -i file. For example, to get a more simple to edit surface coordinate file, the PLY format works well:
ConvertSurface -i std.60.lh.pial.gii -sv SurfVol.nii -o_ply coords.ply
The resulting coords.ply file have coordinates for the std.60.lh.pial nodes (after the little header), as 0-based row numbers. So the first coordinate would be for node 0, then node 1, ... Then extract node 20, and whatever else you want. Of course, you would have to be very careful. :)
Then if this restricted set of coordinates is in coords.1D for example, you can use the -i_vec method to read this vector of coordinates as the surface to compare with. However that needs a mesh file, which really does not matter to the program. So create mesh.1D to be a file of '1 2 3' for example, with that repeated for the same number of rows as you have coordinates in coords.1D.
Then run as:
Surf2VolCoord -i_vec coords.1D mesh.1D -closest_nodes XYZ.1D
It is a little messy, but that seems like a reasonable way to strongly restrict the surface nodes. I do not know how to do it with only nodes indices.
- rick