<html><head><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=WINDOWS-1251">
<style>
body { FONT-FAMILY:'Courier New' ; FONT-SIZE:12 ; }
</style>
</head>
<body>
Hi people !<br>
<br>

&nbsp; &nbsp;Currently I'm using VTK 4.2. There is a program which needs some filters from VTK library (vtkImageGaussianSmooth, vtkContourFilter and so on). For GUI I'm using QT 2.3 Non comercial. Pipeline of the program is:<br>
<br>
- Load DICOM files in memory (from 180 slices up to 700, depence on scan)<br>
- Segment colon<br>
- Use VTK to perform smoothing, triangulation<br>
- Calculate some features<br>
<br>

Problem arise as soon as I'm loading in memory big CT scan (300 slices and more). &nbsp;When volume (CT slices) in memory (Windows task manager show memory usage up to 600 Mb)... After applying segmentation memory usage around 700 Mb (some bugs in standard library for deque container). Computer has 1 Gb of the memory. Then I'm trying pass CT volume to VTK algorithm and I recieve error message (something like segmentation fault in Linux) where is written, that problems in vtkImaging... Part of the code with VTK is:<br>
<br>
 vtkShortArray *shortArray = vtkShortArray::New(); <br>
 shortArray-&#62;SetArray(data,x_dim*y_dim*z_dim,1); <br>
 &nbsp;<br>
 vtkImageData *imageData = vtkImageData::New(); <br>
 imageData-&#62;SetDimensions(x_dim,y_dim,z_dim); <br>
 imageData-&#62;SetSpacing(x_res,y_res,z_res); <br>
 imageData-&#62;SetScalarTypeToShort(); <br>
 imageData-&#62;GetPointData()-&#62;SetScalars(shortArray); <br>
 <br>
 vtkImageGaussianSmooth *smoothVolume = vtkImageGaussianSmooth::New(); <br>
 smoothVolume-&#62;SetInput(imageData); <br>
 smoothVolume-&#62;SetStandardDeviations(.5,.5,.18); <br>
 smoothVolume-&#62;SetRadiusFactor(2.0); <br>
 smoothVolume-&#62;SetDimensionality(3); <br>
 smoothVolume-&#62;Update(); <br>
 <br>
 vtkContourFilter *contourFilter = vtkContourFilter::New(); <br>
 contourFilter-&#62;SetInput(smoothVolume-&#62;GetOutput()); <br>
 contourFilter-&#62;SetValue(0,surface_value); <br>
 contourFilter-&#62;ComputeNormalsOff(); <br>
 contourFilter-&#62;ComputeGradientsOff(); <br>
 contourFilter-&#62;Update(); <br>
 <br>

vtkWindowedSincPolyDataFilter *smoothMesh = vtkWindowedSincPolyDataFilter::New(); <br>
 smoothMesh-&#62;SetInput(contourFilter-&#62;GetOutput()); <br>
 smoothMesh-&#62;SetNumberOfIterations(15); <br>
 smoothMesh-&#62;SetPassBand(0.001); <br>
 smoothMesh-&#62;Update(); <br>
<br>
 .......<br>
<br>
where <br>
<br>
data - pointer to short (CT volume)<br>
x_dim, y_dim, z_dim - dimensions of the CT volume<br>
x_res, y_res, z_res - dimensions of the voxel (voxel resolution)<br>
<br>
Program
fall after calling method Update of the smoothVolume filter. Memory usage at that moment &#62; 1Gb (1.2 - 1.5 Gb). If this is a problem of the memory allocation, how I can solve it in VTK ? if not a problem of memory, then any other ideas ?<br>
<br>
Thanks in advance and sorry for my English...<br>
<br>
Ivan </body></html>