A method for determining rheological properties of a fluid in an open-bore tube, the method comprising: defining within said bore a three dimensional grid 3DG of voxels, with each voxel Vox i having a position x i, y i, z i in said 3DG, wherein the z component is with respect to a position along the direction of the open-bore tube, the z-direction; defining at least two different cross sections, namely inlet cross section ICS and outlet cross section OCS; and defining a volume of interest VOI within said bore between said ICS and said OCS; obtaining a database of rheological properties of said fluid; applying a pressure gradient to said bore between said ICS and said OCS, thereby flowing said fluid through said tube; NMR imaging, using one of time of flight techniques and phase encoding techniques, said fluid within said VOI, to form a 3D NMR image having a plurality p of slices, each slice comprising a plane within said 3DG; from said image, for each of said voxels Vox i, determining a velocity component v i along the z-direction for said fluid; for each of said voxels Vox i, from said velocity component v i, calculating shear rate values SRV; whilst, before or after determining a pressure gradient between said at least one ICS and said at least one OCS, by measuring the pressure of the fluid at least at said at least one ICS and at said at least one OCS, and thereby calculating shear stress values SSV for each voxel Vox i, from said SRV and said SSV determining at least one rheological property RP i for each voxel Vox i; comparing, for said at least one rheological property, RP i calculated for voxel Vox i to stored RP i for voxel Vox i from said database, thereby determining the difference in rheological property ΔRP i for voxel Vox i; and from the set of said ΔRP i, calculating 3D variations in said rheological property, therefrom determining the difference in rheological property ΔRP i as a function of position x i,y i,z i in said grid; wherein the resolution of said difference in rheological property ΔRP i is multiplied by about p compared to the per-slice resolution. defining within said bore a three dimensional grid 3DG of voxels, with each voxel Vox i having a position x i, y i, z i in said 3DG, wherein the z component is with respect to a position along the direction of the open-bore tube, the z-direction; defining at least two different cross sections, namely inlet cross section ICS and outlet cross section OCS; and defining a volume of interest VOI within said bore between said ICS and said OCS; obtaining a database of rheological properties of said fluid; applying a pressure gradient to said bore between said ICS and said OCS, thereby flowing said fluid through said tube; NMR imaging, using one of time of flight techniques and phase encoding techniques, said fluid within said VOI, to form a 3D NMR image having a plurality p of slices, each slice comprising a plane within said 3DG; from said image, for each of said voxels Vox i, determining a velocity component v i along the z-direction for said fluid; for each of said voxels Vox i, from said velocity component v i, calculating shear rate values SRV; whilst, before or after determining a pressure gradient between said at least one ICS and said at least one OCS, by measuring the pressure of the fluid at least at said at least one ICS and at said at least one OCS, and thereby calculating shear stress values SSV for each voxel Vox i, from said SRV and said SSV determining at least one rheological property RP i for each voxel Vox i; comparing, for said at least one rheological property, RP i calculated for voxel Vox i to stored RP i for voxel Vox i from said database, thereby determining the difference in rheological property ΔRP i for voxel Vox i; and from the set of said ΔRP i, calculating 3D variations in said rheological property, therefrom determining the difference in rheological property ΔRP i as a function of position x i,y i,z i in said grid; wherein the resolution of said difference in rheological property ΔRP i is multiplied by about p compared to the per-slice resolution.