Skip to content

Commit

Permalink
Fix bug where opening a table that already contains a region_id colum…
Browse files Browse the repository at this point in the history
…n would lead to a crash
  • Loading branch information
tischi committed Jun 10, 2024
1 parent 980d654 commit 65dc0b4
Show file tree
Hide file tree
Showing 3 changed files with 56 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ public class OpenImageAndLabelsCommand implements Command {
@Parameter( label = "Spatial Calibration" )
public SpatialCalibration spatialCalibration = SpatialCalibration.FromImage;

// FIXME: What would happen here if the user chooses GridType.None ?
@Parameter( label = "Grid", description = MoBIEHelper.GRID_TYPE_HELP )
public GridType gridType = GridType.Transformed;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,9 @@ public SourcesFromTableCreator( String tablePath, List< String > imageColumns, L
// can thus be used as the region table
String imageColumn = imageColumns.get( 0 );
final List< String > regions = table.stringColumn( imageColumn ).asList();
regionTable = table.addColumns( StringColumn.create( ColumnNames.REGION_ID, regions ) );
regionTable = table;
if ( ! table.containsColumn( ColumnNames.REGION_ID ) )
regionTable = table.addColumns( StringColumn.create( ColumnNames.REGION_ID, regions ) );
regionTable.setName( "image table" );
}
else
Expand Down
52 changes: 52 additions & 0 deletions src/test/java/projects/OpenLocalYannickZarrTable.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
/*-
* #%L
* Fiji viewer for MoBIE projects
* %%
* Copyright (C) 2018 - 2024 EMBL
* %%
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
* #L%
*/
package projects;

import net.imagej.ImageJ;
import org.embl.mobie.command.open.OpenImageAndLabelsCommand;
import org.embl.mobie.command.open.OpenTableCommand;
import org.embl.mobie.lib.transform.GridType;

import java.io.File;
import java.io.IOException;

public class OpenLocalYannickZarrTable
{
public static void main( String[] args ) throws IOException
{
final ImageJ imageJ = new ImageJ();
imageJ.ui().showUI();

OpenTableCommand command = new OpenTableCommand();
command.gridType = GridType.Transformed;
command.table = new File("/Users/tischer/Desktop/yannick.csv");
command.images = "source_path";
command.run();
}
}

0 comments on commit 65dc0b4

Please sign in to comment.