Skip to content

Commit addcfe3

Browse files
authored
Merge pull request bigdataviewer#35 from haesleinhuepf/brightnessAdjuster
Fix bug in getSourceIndex() and rename brightnessAdjuster
2 parents 63c42d6 + 5ff86fb commit addcfe3

File tree

7 files changed

+87
-15
lines changed

7 files changed

+87
-15
lines changed

src/main/java/sc/fiji/bdvpg/bdv/BdvUtils.java

+25-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package sc.fiji.bdvpg.bdv;
22

33
import bdv.tools.brightness.MinMaxGroup;
4+
import bdv.tools.transformation.TransformedSource;
45
import bdv.util.Bdv;
56
import bdv.util.BdvHandle;
67
import bdv.viewer.Source;
@@ -229,6 +230,15 @@ public static MinMaxGroup getMinMaxGroup( BdvHandle bdvHandle, Source< ? > sourc
229230
return minmax;
230231
}
231232

233+
234+
/**
235+
* TODO: remove the print statements or make them some debug mode.
236+
*
237+
*
238+
* @param bdv
239+
* @param source
240+
* @return
241+
*/
232242
public static int getSourceIndex( Bdv bdv, Source< ? > source )
233243
{
234244
final List< SourceState< ? > > sources =
@@ -237,10 +247,22 @@ public static int getSourceIndex( Bdv bdv, Source< ? > source )
237247
System.out.println("look for : "+ source);
238248

239249
for ( int i = 0; i < sources.size(); ++i ) {
240-
System.out.println("c:"+sources.get(i).getSpimSource());
250+
final Source< ? > bdvSource = sources.get( i ).getSpimSource();
251+
252+
System.out.println("c:"+ bdvSource );
253+
254+
if ( bdvSource instanceof TransformedSource )
255+
{
256+
final Source wrappedSource = ( ( TransformedSource ) bdvSource ).getWrappedSource();
241257

242-
if (sources.get(i).getSpimSource().equals(source))
243-
return i;
258+
if ( wrappedSource.equals( source ) )
259+
return i;
260+
}
261+
else
262+
{
263+
if ( bdvSource.equals( source ) )
264+
return i;
265+
}
244266
}
245267

246268
return -1;

src/main/java/sc/fiji/bdvpg/bdv/source/displayopts/BrightnessAdjuster.java src/main/java/sc/fiji/bdvpg/bdv/source/display/BrightnessAutoAdjuster.java

+9-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package sc.fiji.bdvpg.bdv.source.displayopts;
1+
package sc.fiji.bdvpg.bdv.source.display;
22

33
import bdv.tools.brightness.MinMaxGroup;
44
import bdv.util.BdvHandle;
@@ -12,14 +12,20 @@
1212
import net.imglib2.view.Views;
1313
import sc.fiji.bdvpg.bdv.BdvUtils;
1414

15-
public class BrightnessAdjuster implements Runnable
15+
public class BrightnessAutoAdjuster implements Runnable
1616
{
1717
private final BdvHandle bdvHandle;
1818
private final Source< ? > source;
1919
private final double cumulativeMinCutoff;
2020
private final double cumulativeMaxCutoff;
2121

22-
public BrightnessAdjuster( final BdvHandle bdvHandle, final Source< ? > source, final double cumulativeMinCutoff, final double cumulativeMaxCutoff )
22+
23+
public BrightnessAutoAdjuster( final BdvHandle bdvHandle, final Source< ? > source )
24+
{
25+
this( bdvHandle, source, 0.01, 0.99 );
26+
}
27+
28+
public BrightnessAutoAdjuster( final BdvHandle bdvHandle, final Source< ? > source, final double cumulativeMinCutoff, final double cumulativeMaxCutoff )
2329
{
2430
this.bdvHandle = bdvHandle;
2531
this.source = source;

src/main/java/sc/fiji/bdvpg/command/BdvAppendSampleCommand.java

+4-5
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
import org.scijava.plugin.Parameter;
88
import org.scijava.plugin.Plugin;
99
import sc.fiji.bdvpg.bdv.source.append.AddSourceToBdv;
10-
import sc.fiji.bdvpg.bdv.source.displayopts.BrightnessAdjuster;
10+
import sc.fiji.bdvpg.bdv.source.display.BrightnessAutoAdjuster;
1111
import sc.fiji.bdvpg.log.SystemLogger;
1212
import sc.fiji.bdvpg.scijava.ScijavaBdvDefaults;
1313
import sc.fiji.bdvpg.source.importer.samples.MandelbrotSourceGetter;
@@ -18,10 +18,10 @@
1818
public class BdvAppendSampleCommand implements Command {
1919

2020
@Parameter(type = ItemIO.BOTH)
21-
BdvHandle bdvh;
21+
public BdvHandle bdvh;
2222

2323
@Parameter(choices = {"Mandelbrot", "Wave3D", "Voronoi", "Big Voronoi"})
24-
String sampleName;
24+
public String sampleName;
2525

2626
@Override
2727
public void run() {
@@ -50,7 +50,6 @@ public void run() {
5050
}
5151
new AddSourceToBdv(bdvh, src).run();
5252

53-
// DO NOT WORK
54-
//new BrightnessAdjuster(bdvh, src, 0.01, 0.99).run();
53+
new BrightnessAutoAdjuster(bdvh, src, 0.01, 0.99).run();
5554
}
5655
}

src/main/java/sc/fiji/bdvpg/command/SingleSourceLoaderCommand.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import org.scijava.plugin.Plugin;
99
import sc.fiji.bdvpg.bdv.navigate.ViewerTransformAdjuster;
1010
import sc.fiji.bdvpg.scijava.ScijavaBdvDefaults;
11-
import sc.fiji.bdvpg.bdv.source.displayopts.BrightnessAdjuster;
11+
import sc.fiji.bdvpg.bdv.source.display.BrightnessAutoAdjuster;
1212
import sc.fiji.bdvpg.bdv.source.append.SourceAdder;
1313
import sc.fiji.bdvpg.source.importer.SourceLoader;
1414

@@ -47,7 +47,7 @@ public void adjustViewerTransform()
4747

4848
public void adjustBrightness()
4949
{
50-
new BrightnessAdjuster( bdvHandle, source, 0.01, 0.99 ).run();
50+
new BrightnessAutoAdjuster( bdvHandle, source, 0.01, 0.99 ).run();
5151
}
5252

5353
public void addSource()

src/main/java/sc/fiji/bdvpg/scijava/ScijavaBdvDefaults.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,5 @@
22

33
public class ScijavaBdvDefaults {
44

5-
final public static String RootMenu = "Bdv_Scijava>";//Plugins>BigDataViewer>";
5+
final public static String RootMenu = "Bdv_Scijava>";
66
}

src/main/java/sc/fiji/bdvpg/source/importer/samples/Wave3DSourceGetter.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package sc.fiji.bdvpg.source.importer.samples;
22

33
import bdv.viewer.Source;
4+
import net.imglib2.FinalInterval;
45

56
import java.util.function.Supplier;
67

@@ -15,6 +16,6 @@ public void run() {
1516
public Source get() {
1617
return new Procedural3DImageShort(
1718
p -> (int) ((Math.sin(p[0]/20)*Math.sin(p[1]/40)*Math.sin(p[2]/5)+1)*100)
18-
).getSource("Wave 3D");
19+
).getSource(new FinalInterval(new long[]{0,0,0}, new long[]{512,512,512}),"Wave 3D");
1920
}
2021
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
package sc.fiji.bdvpg.bdv.source.display;
2+
3+
import bdv.util.BdvFunctions;
4+
import bdv.util.BdvHandle;
5+
import bdv.util.BdvOptions;
6+
import bdv.viewer.Source;
7+
import bdv.viewer.SourceAndConverter;
8+
import mpicbg.spim.data.SpimData;
9+
import sc.fiji.bdvpg.bdv.BDVSingleton;
10+
import sc.fiji.bdvpg.bdv.navigate.ViewerTransformAdjuster;
11+
import sc.fiji.bdvpg.bdv.source.append.SourceAdder;
12+
import sc.fiji.bdvpg.source.importer.SourceLoader;
13+
import sc.fiji.bdvpg.source.importer.samples.VoronoiSourceGetter;
14+
15+
public class BrightnessAutoAdjusterDemo
16+
{
17+
public static void main( String[] args )
18+
{
19+
// Mri stack
20+
BdvHandle bdvHandle = BDVSingleton.getInstance();
21+
22+
final Source source = getMriSource();
23+
addSource( bdvHandle, source );
24+
25+
// Voronoi
26+
final Source voronoiSource = new VoronoiSourceGetter( new long[]{ 512, 512, 1 }, 256, true ).get();
27+
addSource( bdvHandle, voronoiSource );
28+
}
29+
30+
public static Source getMriSource()
31+
{
32+
final String filePath = "src/test/resources/mri-stack.xml";
33+
final SourceLoader sourceLoader = new SourceLoader( filePath );
34+
sourceLoader.run();
35+
return sourceLoader.getSource( 0 );
36+
}
37+
38+
public static void addSource( BdvHandle bdvHandle, Source source )
39+
{
40+
new SourceAdder( bdvHandle, source ).run();
41+
new ViewerTransformAdjuster( bdvHandle, source ).run();
42+
new BrightnessAutoAdjuster( bdvHandle, source ).run();
43+
}
44+
}

0 commit comments

Comments
 (0)