Skip to content

Commit d51b8e5

Browse files
committed
Force BayesFit to run single-threaded
1 parent 090bc55 commit d51b8e5

2 files changed

Lines changed: 13 additions & 2 deletions

File tree

scijava-ops-flim/src/main/java/org/scijava/ops/flim/impl/AbstractSingleFitWorker.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -126,14 +126,18 @@ protected abstract AbstractSingleFitWorker<I> duplicate(FitParams<I> params,
126126
*/
127127
protected void onThreadInit() {}
128128

129+
protected boolean runMultiThreaded() {
130+
return params.multithread;
131+
}
132+
129133
@Override
130134
public void fitBatch(List<int[]> pos, FitEventHandler<I> handler) {
131135
final AbstractSingleFitWorker<I> thisWorker = this;
132136

133137
Consumer<int[]> worker = (data) -> {
134138
int start = data[0];
135139
int size = data[1];
136-
if (!params.multithread) {
140+
if (!runMultiThreaded()) {
137141
// let the first fitting thread do all the work
138142
if (start != 0) {
139143
return;
@@ -146,7 +150,7 @@ public void fitBatch(List<int[]> pos, FitEventHandler<I> handler) {
146150
final FitResults lResults;
147151
final AbstractSingleFitWorker<I> fitWorker;
148152
// don't make copy in single thread mode
149-
if (!params.multithread || pos.size() == 1) {
153+
if (!runMultiThreaded() || pos.size() == 1) {
150154
lParams = params;
151155
lResults = results;
152156
fitWorker = thisWorker;

scijava-ops-flim/src/main/java/org/scijava/ops/flim/impl/BayesFit.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -213,6 +213,13 @@ protected AbstractSingleFitWorker<I> duplicate(FitParams<I> params,
213213
child.gridMax = this.gridMax;
214214
return child;
215215
}
216+
217+
@Override
218+
protected boolean runMultiThreaded() {
219+
// TODO: Multithreaded execution runs worse, so we force single-threaded
220+
// computation
221+
return false;
222+
}
216223
}
217224

218225
}

0 commit comments

Comments
 (0)