[vtk-developers] Mac java not returning zero-initialized objects
Mark Roden
mmroden at gmail.com
Thu Feb 24 11:17:58 EST 2011
I've found what I think is an interesting bug in the Java wrapping.
According to the spec
(http://java.sun.com/docs/books/jls/third_edition/html/typesValues.html#4.12.5),
values in java should be initialized to zero. However, when I create
a new vtkImageData object, the contents are not zero.
For instance, this method, used to make a mask on top of an existing
vtkImageData object:
public vtkImageData getBlankBinaryData(vtkImageData inImage){
vtkImageData blankImage = new vtkImageData();
int [] extent = inImage.GetWholeExtent();
double[] origin = inImage.GetOrigin();
double[] spacing = inimage.GetSpacing();
blankImage.SetExtent(extent);
blankImage.SetOrigin(origin);
blankImage.SetSpacing(spacing);
blankImage.SetScalarTypeToUnsignedChar();
blankImage.AllocateScalars();
return blankImage;
}
That above code returns an image that is set to zero on the PC, but
contains a wide variety of values on the mac.
This seems like an oversight in the wrapper. What should I do to
guarantee that a new vtkImageData contains only zeros?
Thanks,
Mark
More information about the vtk-developers
mailing list