Comments (8)
Can reproduce. Investigating.
from mayavi.
This is the report on the console
libpng warning: iCCP: known incorrect sRGB profile
ERROR: In /Users/vagrant/pisi-64bit/tmp/VTK-6.2.0-1/work/VTK-6.2.0/Common/Core/vtkDataArrayTemplate.txx, line 142
vtkDoubleArray (0x1287fbf00): Unable to allocate 9223372036854775805 elements of size 8 bytes.
Qt has caught an exception thrown from an event handler. Throwing
exceptions from an event handler is not supported in Qt. You must
reimplement QApplication::notify() and catch all exceptions there.
libc++abi.dylib: terminating with uncaught exception of type std::bad_alloc: std::bad_alloc
Abort trap: 6
from mayavi.
It appears that the initial number of points is completely broken, and gets accepted to size an array.
from mayavi.
Ok, after investigation, a value so high is technically correct, and not the result of junk memory. The default maximum number of points is established in VTK MaskPoints as the VTK_ID_MAX, which is the maximum long value. In practice, that value means: all points.
While not pleasant, it's technically correct. The question is why a vtkDoubleArray
is getting allocated with that value, eventually.
from mayavi.
Problem is in VTK. Will obtain enough information to file a bug report.
from mayavi.
For the record, this issue is reproduced with the condition that "Proportional maximum number of points" is set to True when "mask points" is enabled.
As tested today, the default value of "proportional maximum number of points" is False, so the following should work:
from mayavi import mlab
mlab.points3d(range(4), range(4), range(4), mask_points=2)
so is clicking Glyph->Glyph->Masking->"Mask input points".
The seg fault generated by setting the "proportional maximum number of points" to True remains a vtk bug, as explained by @stefanoborini
from mayavi.
This is going to require some frequent compile time so I put it in background as I do something else from the list.
from mayavi.
Found the problem, at vtkMaskPoints.cxx:335
localMaxPts = this->MaximumNumberOfPoints > numPts ? numPts : this->MaximumNumberOfPoints;
if(this->ProportionalMaximumNumberOfPoints)
{
localMaxPts = this->GetLocalSampleSize(numPts,
this->InternalGetNumberOfProcesses());
}
They are checking the localMaxPts before the splitting among processors. The GetLocalSampleSize returns the MaximumNumberOfPoints, which as we saw, it's a large value.
The first line should go after the if.
Filed bug report on VTK.
from mayavi.
Related Issues (20)
- Failed Cython compilation (Cython > 3.0) HOT 2
- mlab.savefig saves wrong resolution (for first two images in loop)
- Potential issue with upcoming changes in VTK
- itkwidgets error in Jupyter Notebook
- Update a mayavi plot programmatically
- Release? HOT 6
- Warnings reported in the Mayavi testsuite
- Warnings and errors reported by the tvtk testsuite
- ImportError: Could not import backend for traitsui.
- Moving the cursor into a mayavi window causes a crash
- pip install not working HOT 2
- [regression in 4.8.2] TVTK not built properly. HOT 1
- Mayavi example protein.py not working, plus the solution
- Scalar filed is not volume rendered with a colormap HOT 1
- GUI stutters when running an animation
- Problem getting started with Mayavi HOT 1
- When use mlab.figure, got error "AttributeError: type object 'Unimplemented' has no attribute 'process_events'" HOT 3
- wxPython not supported
- Mayavi Compatibility with Numpy2.0 HOT 1
- wglMakeCurrent failed in MakeCurrent() on Windows machine HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mayavi.