* fix: 🐛 Local file: failing when retrieving segmentation data Fix segmentation data retrieval issues for local file. Changed from fecthing to use cornerstone loadAndCache method BREAKING CHANGE: DICOM Seg Closes: part of #838 * Switch SEG retrieval to WADO-RS * Forgot a debugger * refactor: 💡 Code refactor. Minor changes into methods * fix: 🐛 Load local files: PDF Items: 1. FileLoaderService: used for serveral operations on local files(load it, get list of studies, group them, accepting dicom and pdf) 2. DicomLoaderService: used for loading dicom based on dataset and studies. Depending on type of dicom loader might change. WIP 3. Refactor PDF and handleSegmentationStorage to use DicomLoaderService * fix: 🐛 Code review * fix: 🐛 Code review. Changed:Folder organization and dicom file Move fileLoaderService and others to a specific folder. When loading dicom file change to only retrieve the file(not use cornerstone to cache or anything else). * fix: 🐛 Code review. Move dicomLoaderService to core Moved dicomLoaderService to ohif/core and localFileLoaders to a specific folder. * fix: 🐛 Code review Simplified method to get study for dicom file. Added error handling on file loading. DicomLoaderService to be exposed on ohif/core/utils instead. * fix: 🐛 Reduce local load to one method only Reduced local file load to one method only * fix: 🐛 HTML to use dicomLoaderService. Prefer wadors than (uri) * fix: 🐛 Code implementation for multiframe files * fix: 🐛 Code review. Default local loader to dicom Closes: 838 * fix: 🐛 Code review. Use relative path to require DICOMWeb Closes: 838 * fix: 🐛 Code review. Fix unit test. Added DicomLoaderService mod Closes: 838 * fix: 🐛 Code review. Add 'Seg' on left thumb When getting/creating dataset get modality for file/image read Closes: 838
27 lines
839 B
JavaScript
27 lines
839 B
JavaScript
import FileLoaderService from './localFileLoaders/fileLoaderService';
|
|
|
|
const processFile = async file => {
|
|
try {
|
|
const fileLoaderService = new FileLoaderService(file);
|
|
const imageId = fileLoaderService.addFile(file);
|
|
const image = await fileLoaderService.loadFile(file, imageId);
|
|
const dataset = await fileLoaderService.getDataset(image, imageId);
|
|
const studies = await fileLoaderService.getStudies(dataset, imageId);
|
|
|
|
return studies;
|
|
} catch (error) {
|
|
console.log(
|
|
error.name,
|
|
':Error when trying to load and process local files:',
|
|
error.message
|
|
);
|
|
}
|
|
};
|
|
|
|
export default async function filesToStudies(files) {
|
|
const processFilesPromises = files.map(processFile);
|
|
const studies = await Promise.all(processFilesPromises);
|
|
|
|
return FileLoaderService.groupSeries(studies.flat());
|
|
}
|