File: TestDICOMJava.java.in

package info (click to toggle)
vtk-dicom 0.8.17-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 7,176 kB
  • sloc: cpp: 113,811; python: 2,041; makefile: 43; tcl: 10
file content (81 lines) | stat: -rw-r--r-- 2,781 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
import vtk.vtkDICOMReader;
import vtk.vtkDICOMWriter;
import vtk.vtkDICOMMetaData;
import vtk.vtkObject;
import vtk.vtkIntArray;
//import vtk.vtkJavaTesting;
import vtk.vtkSettings;

import java.io.File;

public class TestDICOMJava {
    public static void main(final String[] args) {
        // try loading the VTK libs from the VTK build directory
        try {
          String[] kits = vtkSettings.GetKits();
          String vtk5libs[] = {
            "vtkCommonJava", "vtkFilteringJava", "vtkImagingJava",
            "vtkGraphicsJava", "vtkIOJava", "vtkInfovisJava"
          };
          String vtk6libs[] = {
            "vtkCommonCoreJava", "vtkCommonDataModelJava",
            "vtkCommonExecutionModelJava", "vtkIOImageJava",
            "vtkIOMPIImageJava"
          };
          int cc;
          for (cc = 0; cc < kits.length; cc++) {
            String libname = "vtk" + kits[cc] + "Java";
            boolean found = false;
            int i;
            for (i = 0; i < vtk5libs.length; i++) {
              if (libname.equals(vtk5libs[i])) {
                found = true;
                break;
              }
            }
            for (i = 0; i < vtk6libs.length; i++) {
              if (libname.equals(vtk6libs[i])) {
                found = true;
                break;
              }
            }
            if (found) {
              Runtime.getRuntime().loadLibrary(libname);
            }
          }
        }
        catch (UnsatisfiedLinkError ee) {
          // try using VTK's own load function instead
          //vtkJavaTesting.Initialize(args, false);
        }

        // load the vtkDICOMJava lib
        String sep = System.getProperty("file.separator");
        String lname = System.mapLibraryName("vtkDICOMJava");
        String lpath = "@CMAKE_LIBRARY_OUTPUT_DIRECTORY@";
        String configs[] = {
          "Release", "Debug", "RelWithDebInfo", "MinSizeRel", ""
        };
        int i;
        for (i = 0; i < 5; i++) {
          String config = configs[i];
          String fullpath = lpath + sep;
          if (config != "") {
            fullpath = fullpath + config + sep;
          }
          fullpath = fullpath + lname;
          if (new File(fullpath).exists() || config == "") {
            Runtime.getRuntime().load(fullpath);
            break;
          }
        }
        System.out.println("Ran the vtk-dicom Java test.");
        vtkDICOMReader reader = new vtkDICOMReader();
        vtkDICOMWriter writer = new vtkDICOMWriter();
        vtkDICOMMetaData meta = new vtkDICOMMetaData();
        writer.SetInputConnection(reader.GetOutputPort());
        vtkIntArray a = new vtkIntArray();
        vtkObject.JAVA_OBJECT_MANAGER.deleteAll();
        System.out.println("Ran the vtk-dicom Java test.");
    }
}