Try looking at the Histogram example that installs with IMAQ Vision under C:\Program Files\National Instruments\Vision\Examples\MSVB.NET\2. Functions\Analysis (if you are using .NET - if not, change the MSVB.NET folder to MSVB).
This example shows how to use a ROI and create a histogram from that ROI.
As for functions that do not have a mask input, use the RegionsToMask Method (CWIMAQRegions.RegionsToMask DestImage [, UseModelImage = True] [, FillValue = 255])to create a Mask from a selected Region of Interest and then use the Mask Method (CWIMAQVision.Mask ( SourceImage, MaskImage, DestImage)) to copy the portion of the image you want into another image buffer - DestImage. Then use that DestImage as the image input for your Threshold and BasicParticle methods.
I hope this helps. Good luck with your application!