Оптимизируйте распаковку с помощью dcm4che ⇐ JAVA
Оптимизируйте распаковку с помощью dcm4che
Я использую этот код (используя dcm4che) для чтения файлов dicom и доступа к пиксельным данным. Используя инструмент профилирования, я обнаружил, что метод «readraster()» занимает 82% общего времени процессора. Есть ли способ оптимизировать этот алгоритм?
Считыватель ImageReader = ImageIO.getImageReadersByFormatName("DICOM").next(); попробуйте (DicomInputStream dis = новый DicomInputStream(новый файл("путь к файлу"))) { попробуйте (ImageInputStream iis = ImageIO.createImageInputStream(dis)) { reader.setInput(iis, false); Параметр ImageReadParam = reader.getDefaultReadParam(); интервал кадра = 0; Растровый растр = Reader.readRaster(frame, param); int[] пикселей = raster.getPixels(0,0, raster.getWidth(), raster.getHeight(), (int[]) null); int пиксельиндекс = 0; for (int x = 0; x < raster.getWidth(); x++) { for (int y = 0; y < raster.getHeight(); y++) { this.matrix[x][y][layer] = (int) ((this.slope*pixels[pixelIndex]) + this.intercept); пиксельИндекс++; } } } catch (IOException e) { выдать новое RuntimeException(e); } }
Я использую этот код (используя dcm4che) для чтения файлов dicom и доступа к пиксельным данным. Используя инструмент профилирования, я обнаружил, что метод «readraster()» занимает 82% общего времени процессора. Есть ли способ оптимизировать этот алгоритм?
Считыватель ImageReader = ImageIO.getImageReadersByFormatName("DICOM").next(); попробуйте (DicomInputStream dis = новый DicomInputStream(новый файл("путь к файлу"))) { попробуйте (ImageInputStream iis = ImageIO.createImageInputStream(dis)) { reader.setInput(iis, false); Параметр ImageReadParam = reader.getDefaultReadParam(); интервал кадра = 0; Растровый растр = Reader.readRaster(frame, param); int[] пикселей = raster.getPixels(0,0, raster.getWidth(), raster.getHeight(), (int[]) null); int пиксельиндекс = 0; for (int x = 0; x < raster.getWidth(); x++) { for (int y = 0; y < raster.getHeight(); y++) { this.matrix[x][y][layer] = (int) ((this.slope*pixels[pixelIndex]) + this.intercept); пиксельИндекс++; } } } catch (IOException e) { выдать новое RuntimeException(e); } }
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Добавление библиотеки dcm4che 5 в проект Java с использованием IntelliJ и Maven
Anonymous » » в форуме JAVA - 0 Ответы
- 31 Просмотры
-
Последнее сообщение Anonymous
-