Hi Jude,
If you are worried that the call to np.unique is the problem, you can investigate this by running your script with and without the call to np.unique and compare results. If you have tried this and still cannot find the problem, I would look at a single cluster in a single frame in the trajectory and compare what values freud and OVITO give.
If at that point you believe there is a bug in freud's implementation of the cluster
radius of gyration, you will need to provide a minimal script and system (preferably one cluster) for which the results between
OVITO and freud are different. You will also need to indicate what the
values calculated by OVITO are
Hope this helps with debugging,
Tommy