Inconsistent handling of nans by WebGL viewer for Vertex vs. VertexRGB objects
We known that NaNs are not handled well by the WebGL viewer for Vertex objects. However, it seems that the viewer can handle NaNs perfectly fine for RGBVertex objects. We should investigate this difference and possibly figure out a fix for the Vertex objects.
Example:
import cortex
import numpy as np
vtx = cortex.Vertex.random("fsaverage")
# get an roi to mask out
roi = cortex.get_roi_verts("fsaverage", roi="IPS0")["IPS0"]
vtx.data[roi] = np.nan
cortex.webgl.show({"vertex": vtx, "rgbvertex": vtx.raw})
produces

Adding a note to myself that
- NaNs in
Vertexobjects are displayed as transparent on quickflat, but not on webgl - NaNs in
VertexRGBobjects are not displayed as transparent on quickflat, but they are on webgl
EDIT: there seems to be an interaction with the dtype (obv. nans cannot be cast to uint8). Still investigating...
#458 should fix the problem with VertexRGB objects. However, that PR doesn't fix the problem with Vertex objects. I explored the code for a while, and I think the problem might be in how the JS functions load the data and treat nans. But I'm still unsure about how the JS code works, so we'll have to keep this issue open...