# \[java\] cannot work using vtkImageReslice

**URL:** https://discourse.vtk.org/t/java-cannot-work-using-vtkimagereslice/1285
**Category:** Development
**Created:** [July 5, 2019, 2:06pm UTC](https://discourse.vtk.org/t/java-cannot-work-using-vtkimagereslice/1285 "2019-07-05T14:06:24Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![george2008](https://discourse.vtk.org/letter_avatar_proxy/v4/letter/g/d07c76/32.png) [@george2008](https://discourse.vtk.org/u/george2008)
#### Post date: [July 5, 2019, 2:06pm UTC](https://discourse.vtk.org/t/java-cannot-work-using-vtkimagereslice/1285/1 "2019-07-05T14:06:24Z")

</div>

any help about vtk with java ?  
below java code is from C++/C#, but cannot work.

```
           vtkDICOMImageReader reader = new vtkDICOMImageReader();
	reader.SetDirectoryName("/home/dicom/series1");
	reader.SetDataByteOrderToLittleEndian();
	reader.Update();

	// vtkImageChangeInformation change = new vtkImageChangeInformation();
	// change.SetInputConnection(reader.GetOutputPort());
	// change.SetOutputSpacing(spacing[0], spacing[1], spacing[2]);
	// change.Update();

	vtkImageData img = reader.GetOutput();
	int[] extent = img.GetExtent();
	double[] spacing = img.GetSpacing();
	double[] origin = img.GetOrigin();

	double[] center = new double[3];
	center[0] = origin[0] + spacing[0] * 0.5 * (extent[0] + extent[1]);
	center[1] = origin[1] + spacing[1] * 0.5 * (extent[2] + extent[3]);
	center[2] = origin[2] + spacing[2] * 0.5 * (extent[4] + extent[5]);

	/* @formatter:off */
	double[] axialElements = { 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0,
			1 };
	/* @formatter:on */

	vtkMatrix4x4 resliceAxes = new vtkMatrix4x4();
	resliceAxes.DeepCopy(axialElements);
	// for (int i = 0; i < 4; i++) {
	//	for (int j = 0; j < 4; j++) {
	// resliceAxes.SetElement(i, j, axialElements[i * 4 + j]);
	//	}
	// }

	resliceAxes.SetElement(0, 3, center[0]);
	resliceAxes.SetElement(1, 3, center[1]);
	resliceAxes.SetElement(2, 3, center[2]);

	vtkImageReslice reslice = new vtkImageReslice();
	reslice.SetInputConnection(reader.GetOutputPort());
	// reslice.SetInputData(img);
	reslice.SetOutputDimensionality(2);
	reslice.SetResliceAxes(resliceAxes);
	reslice.SetInterpolationModeToLinear();

	vtkLookupTable colorTable = new vtkLookupTable();
	colorTable.SetRange(0, 1000);
	colorTable.SetValueRange(0.0, 1.0);
	colorTable.SetSaturationRange(0.0, 0.0);
	colorTable.SetRampToLinear();
	colorTable.Build();

	vtkImageMapToColors colorMap = new vtkImageMapToColors();
	colorMap.SetLookupTable(colorTable);
	colorMap.SetInputConnection(reslice.GetOutputPort());
	// colorMap.SetInputData(reslice.GetOutput());

	vtkImageActor imgActor = new vtkImageActor();
	imgActor.SetInputData(colorMap.GetOutput());

	vtkRenderer renderer = new vtkRenderer();
	renderer.AddActor(imgActor);
	renderer.SetBackground(0.4, 0.5, 0.6);

	vtkRenderWindow renderWindow = new vtkRenderWindow();
	renderWindow.SetSize(500, 500);
	renderWindow.AddRenderer(renderer);

	vtkRenderWindowInteractor renderWindowInteractor = new vtkRenderWindowInteractor();
	vtkInteractorStyleImage imagestyle = new vtkInteractorStyleImage();
	renderWindowInteractor.SetInteractorStyle(imagestyle);
	renderWindowInteractor.SetRenderWindow(renderWindow);
	renderWindowInteractor.Initialize();
	renderWindowInteractor.Start();
```

---

<div class="post-metadata">

### Author: ![Sebastien\_Jourdain](https://discourse.vtk.org/user_avatar/discourse.vtk.org/sebastien_jourdain/32/100_2.png) [@Sebastien\_Jourdain](https://discourse.vtk.org/u/Sebastien_Jourdain)
#### Post date: [July 7, 2019, 1:53pm UTC](https://discourse.vtk.org/t/java-cannot-work-using-vtkimagereslice/1285/2 "2019-07-07T13:53:09Z")

</div>

What is the error? Do you load the native library? You can look at some Java example [here](https://github.com/Kitware/VTK/tree/master/Wrapping/Java/vtk/sample).
