OHIF-285/OHIF-274: Fix default hanging of display sets into the ViewportGrid (#1917)
* OHIF-285/OHIF-274: Fix default hanging of display sets into the ViewportGrid Co-authored-by: James A. Petts <jamesapetts@gmail.com>
This commit is contained in:
1 parent
9df57e7f7f
commit
55cf9f2306
33 files changed
+548
-208
No files matched your search
@@ -1,15 +1,9 @@
|
||||
import dcmjs from 'dcmjs';
|
||||
import { studies } from '@ohif/core';
|
||||
import RetrieveMetadataLoader from './retrieveMetadataLoader';
|
||||
//import { sortStudySeries, sortingCriteria } from '../../sortStudy';
|
||||
import getSeriesInfo from './utils/getSeriesInfo';
|
||||
|
||||
/**
|
||||
* Map seriesList to an array of seriesInstanceUid
|
||||
* @param {Arrays} seriesList list of Series Instance UIDs
|
||||
* @returns {Arrays} A list of Series Instance UIDs
|
||||
*/
|
||||
function mapStudySeries(seriesList) {
|
||||
return seriesList.map(series => getSeriesInfo(series).seriesInstanceUid);
|
||||
}
|
||||
const { sortStudySeries, sortingCriteria } = studies;
|
||||
|
||||
|
||||
/**
|
||||
* Creates an immutable series loader object which loads each series sequentially using the iterator interface
|
||||
@@ -33,7 +27,6 @@ function makeSeriesAsyncLoader(
|
||||
studyInstanceUID,
|
||||
seriesInstanceUID,
|
||||
});
|
||||
// return { studyInstanceUID, seriesInstanceUID, sopInstances };
|
||||
},
|
||||
});
|
||||
}
|
||||
@@ -73,56 +66,42 @@ export default class RetrieveMetadataLoaderAsync extends RetrieveMetadataLoader
|
||||
const preLoaders = this.getPreLoaders();
|
||||
const result = await this.runLoaders(preLoaders);
|
||||
|
||||
// const seriesSorted = sortStudySeries(
|
||||
// result,
|
||||
// sortingCriteria.seriesSortCriteria.seriesInfoSortingCriteria
|
||||
// );
|
||||
const { naturalizeDataset } = dcmjs.data.DicomMetaDictionary;
|
||||
const naturalized = result.map(naturalizeDataset);
|
||||
|
||||
//const seriesInstanceUidsMap = mapStudySeries(seriesSorted);
|
||||
|
||||
const seriesInstanceUidsMap = mapStudySeries(result);
|
||||
|
||||
return seriesInstanceUidsMap;
|
||||
return sortStudySeries(
|
||||
naturalized,
|
||||
sortingCriteria.seriesSortCriteria.seriesInfoSortingCriteria
|
||||
);
|
||||
}
|
||||
|
||||
async load(preLoadData) {
|
||||
const { client, studyInstanceUID } = this;
|
||||
|
||||
const seriesInstanceUIDs = preLoadData.map(s => s.SeriesInstanceUID);
|
||||
|
||||
const seriesAsyncLoader = makeSeriesAsyncLoader(
|
||||
client,
|
||||
studyInstanceUID,
|
||||
preLoadData
|
||||
seriesInstanceUIDs
|
||||
);
|
||||
|
||||
// const firstSeries = await seriesAsyncLoader.next();
|
||||
|
||||
// return {
|
||||
// sopInstances: firstSeries.sopInstances,
|
||||
// asyncLoader: seriesAsyncLoader,
|
||||
// };
|
||||
|
||||
const promises = [];
|
||||
|
||||
while (seriesAsyncLoader.hasNext()) {
|
||||
promises.push(seriesAsyncLoader.next());
|
||||
}
|
||||
|
||||
return promises;
|
||||
|
||||
// if (asyncLoader.hasNext()) {
|
||||
return {
|
||||
preLoadData,
|
||||
promises,
|
||||
};
|
||||
}
|
||||
|
||||
async posLoad(promises) {
|
||||
return promises;
|
||||
// const { client } = this;
|
||||
// const { sopInstances, asyncLoader } = loadData;
|
||||
|
||||
// const study = await createStudyFromSOPInstanceList(server, sopInstances);
|
||||
|
||||
// if (asyncLoader.hasNext()) {
|
||||
// attachSeriesLoader(server, study, asyncLoader);
|
||||
// }
|
||||
|
||||
// return study;
|
||||
async posLoad({ preLoadData, promises }) {
|
||||
return {
|
||||
preLoadData,
|
||||
promises,
|
||||
};
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user