Skip to content

Commit

Permalink
fix(fileloader): Don't load labelmaps with no backing image
Browse files Browse the repository at this point in the history
  • Loading branch information
floryst committed Apr 16, 2020
1 parent fd2528d commit c70d2e0
Showing 1 changed file with 44 additions and 38 deletions.
82 changes: 44 additions & 38 deletions src/store/fileLoader.js
Expand Up @@ -406,20 +406,24 @@ export default (proxyManager) => ({
let ret = [];
for (let i = 0; i < fileList.length; i++) {
const f = fileList[i];
const reader = { ...f.reader };
const readerBundle = { ...f.reader };

const meta = f.proxyKeys && f.proxyKeys.meta;
if (meta) {
const ds = reader.dataset || reader.reader.getOutputData();
Object.assign(reader, {
const { reader, dataset } = readerBundle;
const ds =
reader && reader.getOutputData
? reader.getOutputData()
: dataset;
Object.assign(readerBundle, {
// use dataset instead of reader
dataset: postProcessDataset(ds, meta),
reader: null,
});
}

const sources = ReaderFactory.registerReadersToProxyManager(
[{ ...reader, proxyKeys: f.proxyKeys }],
[{ ...readerBundle, proxyKeys: f.proxyKeys }],
proxyManager
);
ret = ret.concat(sources.filter(Boolean));
Expand All @@ -435,47 +439,49 @@ export default (proxyManager) => ({
.filter((p) => p.getProxyName() === 'TrivialProducer');

// attach labelmaps to most recently loaded image
const lastSourcePID = sources[sources.length - 1].getProxyId();
for (let i = 0; i < loadedLabelmaps.length; i++) {
const lmProxy = loadedLabelmaps[i];
dispatch(
'widgets/addLabelmapToImage',
{
imageId: lastSourcePID,
labelmapId: lmProxy.getProxyId(),
},
{ root: true }
).then(() =>
if (sources[sources.length - 1]) {
const lastSourcePID = sources[sources.length - 1].getProxyId();
for (let i = 0; i < loadedLabelmaps.length; i++) {
const lmProxy = loadedLabelmaps[i];
dispatch(
'widgets/setLabelmapState',
'widgets/addLabelmapToImage',
{
imageId: lastSourcePID,
labelmapId: lmProxy.getProxyId(),
labelmapState: {
selectedLabel: 1,
lastColorIndex: 1,
},
},
{ root: true }
)
);
}

// attach measurements to most recently loaded image
for (let i = 0; i < measurementFiles.length; i++) {
const measurements = measurementFiles[
i
].reader.reader.getOutputData();
for (let m = 0; m < measurements.length; m++) {
dispatch(
'widgets/addMeasurementTool',
{
datasetId: lastSourcePID,
componentName: measurements[m].componentName,
data: measurements[m].data,
},
{ root: true }
).then(() =>
dispatch(
'widgets/setLabelmapState',
{
labelmapId: lmProxy.getProxyId(),
labelmapState: {
selectedLabel: 1,
lastColorIndex: 1,
},
},
{ root: true }
)
);
}

// attach measurements to most recently loaded image
for (let i = 0; i < measurementFiles.length; i++) {
const measurements = measurementFiles[
i
].reader.reader.getOutputData();
for (let m = 0; m < measurements.length; m++) {
dispatch(
'widgets/addMeasurementTool',
{
datasetId: lastSourcePID,
componentName: measurements[m].componentName,
data: measurements[m].data,
},
{ root: true }
);
}
}
}
});

Expand Down

0 comments on commit c70d2e0

Please sign in to comment.