Hi,
Thank you very much. I almost reached there. points3d is working
however, I am having a hard time in assigning colors to each point.
Please see the code snippet below-
-------------------------------------
import numpy as np
from mayavi import mlab
# generate random data (just for checking)
pts = 10 # number of points (just for checking)
x = np.arange(pts)
y = np.arange(pts)
z = np.arange(pts)
c = np.random.rand(pts, 3) #r, g, b values
mlab.figure()
mlab.points3d(x, y, z, color=c)
mlab.show()
-------------------------------------
The above code throws following error-
The 'color' trait of a GlyphFactory instance must be a tuple of the
form: (0.0 <= a floating point number <= 1.0, 0.0 <= a floating point
number <= 1.0, 0.0 <= a floating point number <= 1.0) or None, but a
value of array([[...]]) <type 'numpy.ndarray'> was specified.
It seems that the color is a tuple i.e., (r, g, b)in mlab.points3d()
function and it is globally applied to all points. However, in my case,
each point has a color value, which is different from others.
The simplest thing which came to my mind is to assign each point one by
one as shown below-
-------------------------------------
mlab.figure()
for i in range(pts):
mlab.points3d(x[i], y[i], z[i], color=tuple(c[i].reshape(-1)))
mlab.show()
-------------------------------------
This works fine for a few points. However, I have approximately 40,000
points and the above approach isn't working!
-
Thanks
Ravi
On 2018-07-21 22:12, Shankar Kulumani wrote:
This function will do exactly what you want
http://docs.enthought.com/mayavi/mayavi/auto/mlab_helper_functions.html#points3d
Example
points3d(x, y, z...)
points3d(x, y, z, s, ...)
points3d(x, y, z, f, ...)
On Sat, Jul 21, 2018, 03:12 <mys...@ravijoshi.info> wrote:
Hello,
I am new to mayavi and I am trying to use mayavi in python to
visualize
a point cloud. I have a colored point cloud
(PointCloud<PointXYZRGB>)
stored in a numpy array of shape (40000, 4). The first three columns
of
this array are the position in 3D space (x, y, z) and the last
column is
RGB color packed in one using the following formulation-
// pack r/g/b into rgb
uint8_t r = 255, g = 0, b = 0; // Example: Red color
uint32_t rgb = ((uint32_t)r << 16 | (uint32_t)g << 8 | (uint32_t)b);
Hence, the point cloud contains 40,000 points in which each point
has a
color assigned to it.
I want to know if it is possible to visualize it using mayavi
python?
Any sample code will be appreciated more.
-
Thanks
Ravi
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
MayaVi-users mailing list
MayaVi-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mayavi-users
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
MayaVi-users mailing list
MayaVi-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mayavi-users