From ffabce4428a563244f5a23cd6e028da78bf658e6 Mon Sep 17 00:00:00 2001 From: Jean-Yves Tinevez Date: Wed, 5 Aug 2026 15:38:58 +0200 Subject: [PATCH 01/11] Let DisplaySettings implements Style< DisplaySettings > --- .../trackmate/gui/displaysettings/DisplaySettings.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/main/java/fiji/plugin/trackmate/gui/displaysettings/DisplaySettings.java b/src/main/java/fiji/plugin/trackmate/gui/displaysettings/DisplaySettings.java index e6172f42b..e52477b87 100644 --- a/src/main/java/fiji/plugin/trackmate/gui/displaysettings/DisplaySettings.java +++ b/src/main/java/fiji/plugin/trackmate/gui/displaysettings/DisplaySettings.java @@ -29,9 +29,10 @@ import org.scijava.listeners.Listeners; +import bdv.ui.settings.style.Style; import fiji.plugin.trackmate.features.track.TrackIndexAnalyzer; -public class DisplaySettings +public class DisplaySettings implements Style< DisplaySettings > { /** The display settings name. */ @@ -148,6 +149,7 @@ private DisplaySettings( final String name ) * the name for the copied render settings. * @return a new {@link DisplaySettings} instance. */ + @Override public DisplaySettings copy( final String name ) { final DisplaySettings rs = new DisplaySettings(); @@ -157,6 +159,7 @@ public DisplaySettings copy( final String name ) return rs; } + @Override public DisplaySettings copy() { return copy( null ); @@ -208,11 +211,13 @@ synchronized void set( final DisplaySettings ds ) notifyListeners(); } + @Override public String getName() { return name; } + @Override public synchronized void setName( final String name ) { if ( !Objects.equals( this.name, name ) ) @@ -788,7 +793,7 @@ public enum TrackMateObject { DEFAULT( "Default" ), SPOTS( "spots" ), EDGES( "edges" ), TRACKS( "tracks" ); - private String name; + private final String name; private TrackMateObject( final String name ) { From cb3b4d585d5eeb08373ba93010e57890af74cab1 Mon Sep 17 00:00:00 2001 From: Jean-Yves Tinevez Date: Wed, 5 Aug 2026 15:40:22 +0200 Subject: [PATCH 02/11] Refactor the DisplaySettingsPanel Make it implements ProfileEditPanel, so that we can later use it in a config page. Move the visitor to its own class, and wrap the panel itself in a scrollpane. --- .../ConfigTrackMateDisplaySettings.java | 7 +- .../displaysettings/DisplaySettingsPanel.java | 372 +++++++++++------- 2 files changed, 220 insertions(+), 159 deletions(-) diff --git a/src/main/java/fiji/plugin/trackmate/gui/displaysettings/ConfigTrackMateDisplaySettings.java b/src/main/java/fiji/plugin/trackmate/gui/displaysettings/ConfigTrackMateDisplaySettings.java index 9e90ce88e..cacd05971 100644 --- a/src/main/java/fiji/plugin/trackmate/gui/displaysettings/ConfigTrackMateDisplaySettings.java +++ b/src/main/java/fiji/plugin/trackmate/gui/displaysettings/ConfigTrackMateDisplaySettings.java @@ -27,7 +27,6 @@ import static fiji.plugin.trackmate.gui.Icons.TRACKMATE_ICON; import java.awt.BorderLayout; -import java.awt.Dimension; import javax.swing.BorderFactory; import javax.swing.Box; @@ -36,7 +35,6 @@ import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; -import javax.swing.JScrollPane; import javax.swing.UIManager; import javax.swing.UnsupportedLookAndFeelException; @@ -107,10 +105,7 @@ public static JFrame editor( final DisplaySettings ds, final String titleStr, fi */ final DisplaySettingsPanel editor = new DisplaySettingsPanel( ds ); - final JScrollPane scrollPane = new JScrollPane( editor, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER ); - scrollPane.setPreferredSize( new Dimension( 350, 500 ) ); - scrollPane.getVerticalScrollBar().setUnitIncrement( 16 ); - configPanel.add( scrollPane, BorderLayout.CENTER ); + configPanel.add( editor, BorderLayout.CENTER ); /* * Listeners. diff --git a/src/main/java/fiji/plugin/trackmate/gui/displaysettings/DisplaySettingsPanel.java b/src/main/java/fiji/plugin/trackmate/gui/displaysettings/DisplaySettingsPanel.java index a8863f485..d01522753 100644 --- a/src/main/java/fiji/plugin/trackmate/gui/displaysettings/DisplaySettingsPanel.java +++ b/src/main/java/fiji/plugin/trackmate/gui/displaysettings/DisplaySettingsPanel.java @@ -41,6 +41,8 @@ import static fiji.plugin.trackmate.gui.displaysettings.StyleElements.linkedSliderPanel; import static fiji.plugin.trackmate.gui.displaysettings.StyleElements.separator; +import java.awt.BorderLayout; +import java.awt.Dimension; import java.awt.GridBagConstraints; import java.awt.GridBagLayout; import java.awt.Insets; @@ -53,13 +55,20 @@ import javax.swing.JComponent; import javax.swing.JLabel; import javax.swing.JPanel; +import javax.swing.JScrollPane; import javax.swing.JSeparator; import javax.swing.SwingConstants; import javax.swing.SwingUtilities; +import org.scijava.listeners.Listeners; + import com.itextpdf.text.Font; +import bdv.ui.settings.ModificationListener; +import bdv.ui.settings.SelectAndEditProfileSettingsPage.ProfileEditPanel; +import bdv.ui.settings.style.StyleProfile; import fiji.plugin.trackmate.gui.displaysettings.DisplaySettings.TrackDisplayMode; +import fiji.plugin.trackmate.gui.displaysettings.DisplaySettings.UpdateListener; import fiji.plugin.trackmate.gui.displaysettings.StyleElements.BooleanElement; import fiji.plugin.trackmate.gui.displaysettings.StyleElements.BoundedDoubleElement; import fiji.plugin.trackmate.gui.displaysettings.StyleElements.ColorElement; @@ -74,173 +83,77 @@ import fiji.plugin.trackmate.gui.displaysettings.StyleElements.StyleElement; import fiji.plugin.trackmate.gui.displaysettings.StyleElements.StyleElementVisitor; -public class DisplaySettingsPanel extends JPanel +public class DisplaySettingsPanel extends JPanel implements ProfileEditPanel< StyleProfile< DisplaySettings > >, UpdateListener { private static final long serialVersionUID = 1L; private static final int tfCols = 4; - private final JColorChooser colorChooser; + private final Listeners.SynchronizedList< ModificationListener > modificationListeners; private final List< StyleElement > styleElements; + private final DisplaySettings editedStyle; + public DisplaySettingsPanel( final DisplaySettings ds ) { - super( new GridBagLayout() ); + super( new BorderLayout() ); + + this.editedStyle = ds.copy( "Edited" ); + this.styleElements = styleElements( editedStyle ); + this.modificationListeners = new Listeners.SynchronizedList<>(); + editedStyle.listeners().add( this ); + + final JPanel panel = new JPanel( new GridBagLayout() ); + final GuiVisitor visitor = new GuiVisitor( panel ); + styleElements.forEach( element -> element.accept( visitor ) ); + final JScrollPane scrollPane = new JScrollPane( panel, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_NEVER ); + scrollPane.getVerticalScrollBar().setUnitIncrement( 8 ); + add( scrollPane, BorderLayout.CENTER ); + setPreferredSize( new Dimension( 350, 500 ) ); + } - colorChooser = new JColorChooser(); - styleElements = styleElements( ds ); + @Override + public Listeners< ModificationListener > modificationListeners() + { + return modificationListeners; + } - ds.listeners().add( () -> { - styleElements.forEach( StyleElement::update ); - repaint(); - } ); - - final GridBagConstraints c = new GridBagConstraints(); - c.fill = GridBagConstraints.HORIZONTAL; - c.weightx = 1.0; - c.gridwidth = 1; - c.gridx = 0; - c.gridy = 0; - - c.insets = new Insets( 2, 5, 2, 5 ); - - styleElements.forEach( element -> element.accept( - new StyleElementVisitor() - { - @Override - public void visit( final Separator element ) - { - add( Box.createVerticalStrut( 10 ), c ); - ++c.gridy; - addToLayout( new JSeparator( JSeparator.HORIZONTAL ) ); - } - - @Override - public void visit( final LabelElement element ) - { - final JLabel label = new JLabel( element.getLabel() ); - label.setFont( getFont().deriveFont( Font.BOLD ).deriveFont( getFont().getSize() + 2f ) ); - addToLayout( label ); - } - - @Override - public void visit( final BooleanElement element ) - { - final JCheckBox checkbox = linkedCheckBox( element, "" ); - checkbox.setHorizontalAlignment( SwingConstants.TRAILING ); - addToLayout( - checkbox, - new JLabel( element.getLabel() ) ); - } - - @Override - public void visit( final BoundedDoubleElement element ) - { - addToLayout( - linkedSliderPanel( element, tfCols, 0.1 ), - new JLabel( element.getLabel() ) ); - } - - @Override - public void visit( final DoubleElement element ) - { - addToLayout( - linkedFormattedTextField( element ), - new JLabel( element.getLabel() ) ); - } - - @Override - public void visit( final IntElement element ) - { - addToLayout( - linkedSliderPanel( element, tfCols ), - new JLabel( element.getLabel() ) ); - } - - @Override - public void visit( final ColorElement element ) - { - addToLayoutFlushRight( - linkedColorButton( element, colorChooser ), - new JLabel( element.getLabel() ) ); - } - - @Override - public void visit( final FeatureElement element ) - { - addToLayout( - linkedFeatureSelector( element ), - new JLabel( element.getLabel() ) ); - } - - @Override - public < E > void visit( final EnumElement< E > element ) - { - addToLayout( - linkedComboBoxEnumSelector( element ), - new JLabel( element.getLabel() ) ); - } - - @Override - public void visit( final ColormapElement element ) - { - addToLayout( - linkedColormapChooser( element ), - new JLabel( element.getLabel() ) ); - } - - @Override - public void visit( final FontElement element ) - { - addToLayout( - linkedFontButton( element, SwingUtilities.getWindowAncestor( DisplaySettingsPanel.this ) ), - new JLabel( element.getLabel() ) ); - } - - private void addToLayout( final JComponent comp1, final JComponent comp2 ) - { - c.gridwidth = 1; - c.anchor = GridBagConstraints.LINE_END; - add( comp1, c ); - c.gridx++; - c.weightx = 0.0; - c.anchor = GridBagConstraints.LINE_START; - add( comp2, c ); - c.gridx = 0; - c.weightx = 1.0; - c.gridy++; - } - - private void addToLayoutFlushRight( final JComponent comp1, final JComponent comp2 ) - { - c.fill = - c.gridwidth = 1; - c.fill = GridBagConstraints.NONE; - c.anchor = GridBagConstraints.EAST; - add( comp1, c ); - c.gridx++; - c.weightx = 0.0; - c.fill = GridBagConstraints.HORIZONTAL; - c.anchor = GridBagConstraints.LINE_START; - add( comp2, c ); - c.gridx = 0; - c.weightx = 1.0; - c.gridy++; - } - - private void addToLayout( final JComponent comp ) - { - c.gridwidth = 2; - c.anchor = GridBagConstraints.LINE_START; - c.gridx = 0; - c.weightx = 1.0; - add( comp, c ); - c.gridy++; - } - } ) ); + @Override + public JPanel getJPanel() + { + return this; } + private boolean trackModifications = true; + + @Override + public void loadProfile( final StyleProfile< DisplaySettings > profile ) + { + trackModifications = false; + editedStyle.set( profile.getStyle() ); + trackModifications = true; + } + + @Override + public void storeProfile( final StyleProfile< DisplaySettings > profile ) + { + trackModifications = false; + editedStyle.setName( profile.getStyle().getName() ); + trackModifications = true; + profile.getStyle().set( editedStyle ); + } + + @Override + public void displaySettingsChanged() + { + styleElements.forEach( StyleElement::update ); + if ( trackModifications ) + { + repaint(); + modificationListeners.list.forEach( ModificationListener::setModified ); + } + } private List< StyleElement > styleElements( final DisplaySettings ds ) { @@ -303,4 +216,157 @@ private List< StyleElement > styleElements( final DisplaySettings ds ) separator() ); } + + private static class GuiVisitor implements StyleElementVisitor + { + + private final JPanel panel; + + private final GridBagConstraints c; + + private final JColorChooser colorChooser; + + public GuiVisitor( final JPanel panel ) + { + this.panel = panel; + this.colorChooser = new JColorChooser(); + this.c = new GridBagConstraints(); + c.fill = GridBagConstraints.HORIZONTAL; + c.weightx = 1.0; + c.gridwidth = 1; + c.gridx = 0; + c.gridy = 0; + c.insets = new Insets( 2, 5, 2, 5 ); + } + + @Override + public void visit( final Separator element ) + { + panel.add( Box.createVerticalStrut( 10 ), c ); + ++c.gridy; + addToLayout( new JSeparator( JSeparator.HORIZONTAL ) ); + } + + @Override + public void visit( final LabelElement element ) + { + final JLabel label = new JLabel( element.getLabel() ); + label.setFont( panel.getFont().deriveFont( Font.BOLD ).deriveFont( panel.getFont().getSize() + 2f ) ); + addToLayout( label ); + } + + @Override + public void visit( final BooleanElement element ) + { + final JCheckBox checkbox = linkedCheckBox( element, "" ); + checkbox.setHorizontalAlignment( SwingConstants.TRAILING ); + addToLayout( + checkbox, + new JLabel( element.getLabel() ) ); + } + + @Override + public void visit( final BoundedDoubleElement element ) + { + addToLayout( + linkedSliderPanel( element, tfCols, 0.1 ), + new JLabel( element.getLabel() ) ); + } + + @Override + public void visit( final DoubleElement element ) + { + addToLayout( + linkedFormattedTextField( element ), + new JLabel( element.getLabel() ) ); + } + + @Override + public void visit( final IntElement element ) + { + addToLayout( + linkedSliderPanel( element, tfCols ), + new JLabel( element.getLabel() ) ); + } + + @Override + public void visit( final ColorElement element ) + { + addToLayoutFlushRight( + linkedColorButton( element, colorChooser ), + new JLabel( element.getLabel() ) ); + } + + @Override + public void visit( final FeatureElement element ) + { + addToLayout( + linkedFeatureSelector( element ), + new JLabel( element.getLabel() ) ); + } + + @Override + public < E > void visit( final EnumElement< E > element ) + { + addToLayout( + linkedComboBoxEnumSelector( element ), + new JLabel( element.getLabel() ) ); + } + + @Override + public void visit( final ColormapElement element ) + { + addToLayout( + linkedColormapChooser( element ), + new JLabel( element.getLabel() ) ); + } + + @Override + public void visit( final FontElement element ) + { + addToLayout( + linkedFontButton( element, SwingUtilities.getWindowAncestor( panel ) ), + new JLabel( element.getLabel() ) ); + } + + private void addToLayout( final JComponent comp1, final JComponent comp2 ) + { + c.gridwidth = 1; + c.anchor = GridBagConstraints.LINE_END; + panel.add( comp1, c ); + c.gridx++; + c.weightx = 0.0; + c.anchor = GridBagConstraints.LINE_START; + panel.add( comp2, c ); + c.gridx = 0; + c.weightx = 1.0; + c.gridy++; + } + + private void addToLayoutFlushRight( final JComponent comp1, final JComponent comp2 ) + { + c.fill = c.gridwidth = 1; + c.fill = GridBagConstraints.NONE; + c.anchor = GridBagConstraints.EAST; + panel.add( comp1, c ); + c.gridx++; + c.weightx = 0.0; + c.fill = GridBagConstraints.HORIZONTAL; + c.anchor = GridBagConstraints.LINE_START; + panel.add( comp2, c ); + c.gridx = 0; + c.weightx = 1.0; + c.gridy++; + } + + private void addToLayout( final JComponent comp ) + { + c.gridwidth = 2; + c.anchor = GridBagConstraints.LINE_START; + c.gridx = 0; + c.weightx = 1.0; + panel.add( comp, c ); + c.gridy++; + } + } } From 2a0603d98ad1a328912d07e223d58b9ef605b88b Mon Sep 17 00:00:00 2001 From: Jean-Yves Tinevez Date: Wed, 5 Aug 2026 15:41:07 +0200 Subject: [PATCH 03/11] DisplaySettingsIO has methods to write / read specified files. --- .../displaysettings/DisplaySettingsIO.java | 54 ++++++++++++------- 1 file changed, 36 insertions(+), 18 deletions(-) diff --git a/src/main/java/fiji/plugin/trackmate/gui/displaysettings/DisplaySettingsIO.java b/src/main/java/fiji/plugin/trackmate/gui/displaysettings/DisplaySettingsIO.java index 2e597c044..7f7cbcd02 100644 --- a/src/main/java/fiji/plugin/trackmate/gui/displaysettings/DisplaySettingsIO.java +++ b/src/main/java/fiji/plugin/trackmate/gui/displaysettings/DisplaySettingsIO.java @@ -24,7 +24,6 @@ import java.awt.Color; import java.awt.Font; import java.io.File; -import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; @@ -88,6 +87,25 @@ private static Gson getGson() return builder.setPrettyPrinting().create(); } + public static void write( final DisplaySettings ds, final String path ) + { + final String str = toJson( ds ); + final File file = new File( path ); + + if ( !file.exists() ) + file.getParentFile().mkdirs(); + + try (FileWriter writer = new FileWriter( file )) + { + writer.append( str ); + } + catch ( final IOException e ) + { + System.err.println( "Could not write the settings to " + file ); + e.printStackTrace(); + } + } + public static void saveToUserDefault( final DisplaySettings ds ) { final String str = toJson( ds ); @@ -106,34 +124,34 @@ public static void saveToUserDefault( final DisplaySettings ds ) } } - public static DisplaySettings readUserDefault() + public static DisplaySettings read( final String path ) { - if ( !userDefaultFile.exists() ) + try (FileReader reader = new FileReader( path )) { - final DisplaySettings ds = DisplaySettings.defaultStyle().copy( "User-default" ); - saveToUserDefault( ds ); - return ds; - } - - try (FileReader reader = new FileReader( userDefaultFile )) - { - final String str = Files.lines( Paths.get( userDefaultFile.getAbsolutePath() ) ) + final String str = Files.lines( Paths.get( path ) ) .collect( Collectors.joining( System.lineSeparator() ) ); return fromJson( str ); } - catch ( final FileNotFoundException e ) + catch ( final IOException e ) { - System.err.println( "Could not find the user default settings file: " + userDefaultFile - + ". Using built-in default setting." ); + System.err.println( "Could not read the file: " + path ); e.printStackTrace(); } - catch ( final IOException e ) + return null; + } + + public static DisplaySettings readUserDefault() + { + if ( !userDefaultFile.exists() ) { - System.err.println( "Could not read the user default settings file: " + userDefaultFile - + ". Using built-in default setting." ); - e.printStackTrace(); + final DisplaySettings ds = DisplaySettings.defaultStyle().copy( "User-default" ); + saveToUserDefault( ds ); + return ds; } + final DisplaySettings ds = read( userDefaultFile.getAbsolutePath() ); + if ( ds != null ) + return ds; return DisplaySettings.defaultStyle().copy(); } From aa1d049aa0964a40b3fda80aaf11153f3f51457d Mon Sep 17 00:00:00 2001 From: Jean-Yves Tinevez Date: Wed, 5 Aug 2026 15:41:36 +0200 Subject: [PATCH 04/11] A SelectAndEditProfileSettingsPage for DisplaySettings. With a manager that can deal with a collection of settings. --- .../DisplaySettingsConfigPage.java | 53 +++++++ .../DisplaySettingsManager.java | 149 ++++++++++++++++++ 2 files changed, 202 insertions(+) create mode 100644 src/main/java/fiji/plugin/trackmate/gui/displaysettings/DisplaySettingsConfigPage.java create mode 100644 src/main/java/fiji/plugin/trackmate/gui/displaysettings/DisplaySettingsManager.java diff --git a/src/main/java/fiji/plugin/trackmate/gui/displaysettings/DisplaySettingsConfigPage.java b/src/main/java/fiji/plugin/trackmate/gui/displaysettings/DisplaySettingsConfigPage.java new file mode 100644 index 000000000..aa3099157 --- /dev/null +++ b/src/main/java/fiji/plugin/trackmate/gui/displaysettings/DisplaySettingsConfigPage.java @@ -0,0 +1,53 @@ +package fiji.plugin.trackmate.gui.displaysettings; + +import java.awt.BorderLayout; +import java.awt.Frame; +import java.awt.event.WindowAdapter; +import java.awt.event.WindowEvent; + +import javax.swing.JDialog; +import javax.swing.WindowConstants; + +import bdv.ui.settings.SelectAndEditProfileSettingsPage; +import bdv.ui.settings.SettingsPanel; +import bdv.ui.settings.style.StyleProfile; +import bdv.ui.settings.style.StyleProfileManager; + +public class DisplaySettingsConfigPage extends SelectAndEditProfileSettingsPage< StyleProfile< DisplaySettings > > +{ + + public DisplaySettingsConfigPage( final String treePath, final DisplaySettingsManager displaySettingsManager ) + { + super( + treePath, + new StyleProfileManager<>( displaySettingsManager, new DisplaySettingsManager( false ) ), + new DisplaySettingsPanel( displaySettingsManager.getSelectedStyle() ) ); + } + + public static void main( final String[] args ) + { + final DisplaySettingsManager styleManager = new DisplaySettingsManager(); + + final SettingsPanel settings = new SettingsPanel(); + settings.addPage( new DisplaySettingsConfigPage( "Display settings", styleManager ) ); + + final JDialog dialog = new JDialog( ( Frame ) null, "Settings" ); + dialog.getContentPane().add( settings, BorderLayout.CENTER ); + dialog.pack(); + dialog.setLocationRelativeTo( null ); + + settings.onOk( () -> dialog.setVisible( false ) ); + settings.onCancel( () -> dialog.setVisible( false ) ); + + dialog.setDefaultCloseOperation( WindowConstants.DISPOSE_ON_CLOSE ); + dialog.addWindowListener( new WindowAdapter() + { + @Override + public void windowClosing( final WindowEvent e ) + { + settings.cancel(); + } + } ); + dialog.setVisible( true ); + } +} diff --git a/src/main/java/fiji/plugin/trackmate/gui/displaysettings/DisplaySettingsManager.java b/src/main/java/fiji/plugin/trackmate/gui/displaysettings/DisplaySettingsManager.java new file mode 100644 index 000000000..0548f2309 --- /dev/null +++ b/src/main/java/fiji/plugin/trackmate/gui/displaysettings/DisplaySettingsManager.java @@ -0,0 +1,149 @@ +package fiji.plugin.trackmate.gui.displaysettings; + +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.util.List; +import java.util.Set; +import java.util.stream.Collectors; + +import bdv.ui.settings.style.AbstractStyleManager; +import fiji.plugin.trackmate.gui.displaysettings.DisplaySettings.TrackDisplayMode; + +public class DisplaySettingsManager extends AbstractStyleManager< DisplaySettingsManager, DisplaySettings > +{ + + private static final String DISPLAY_SETTINGS_FOLDER = new File( new File( System.getProperty( "user.home" ), ".trackmate" ), "displaysettings" ).getAbsolutePath(); + + private static final String SELECTED_STYLE_FILENAME = "selected.txt"; + + private final DisplaySettings forwardDefaultStyle; + + private final DisplaySettings.UpdateListener updateForwardDefaultListeners; + + public DisplaySettingsManager() + { + this( true ); + } + + public DisplaySettingsManager( final boolean loadStyles ) + { + forwardDefaultStyle = DisplaySettings.defaultStyle().copy(); + updateForwardDefaultListeners = () -> forwardDefaultStyle.set( selectedStyle ); + selectedStyle.listeners().add( updateForwardDefaultListeners ); + if ( loadStyles ) + loadStyles(); + } + + public DisplaySettings getForwardDefaultStyle() + { + return forwardDefaultStyle; + } + + @Override + public synchronized void setSelectedStyle( final DisplaySettings ds ) + { + selectedStyle.listeners().remove( updateForwardDefaultListeners ); + selectedStyle = ds; + forwardDefaultStyle.set( selectedStyle ); + selectedStyle.listeners().add( updateForwardDefaultListeners ); + } + + @Override + protected List< DisplaySettings > loadBuiltinStyles() + { + final DisplaySettings ds1 = DisplaySettings.defaultStyle(); + final DisplaySettings ds2 = ds1.copy( "Dragon tail" ); + ds2.setLineThickness( 2. ); + ds2.setTrackDisplayMode( TrackDisplayMode.LOCAL_BACKWARD ); + return List.of( ds1, ds2 ); + } + + public void loadStyles() + { + loadStyles( DISPLAY_SETTINGS_FOLDER ); + } + + @Override + public void saveStyles() + { + saveStyles( DISPLAY_SETTINGS_FOLDER ); + } + + public void loadStyles( final String folder ) + { + // Load the selected style name from the text file + final File selectedFile = new File( folder, SELECTED_STYLE_FILENAME ); + String selectedName = null; + try + { + selectedName = Files.readString( selectedFile.toPath() ).trim(); + } + catch ( final IOException e ) + {} + + setSelectedStyle( builtinStyles.get( 0 ) ); + userStyles.clear(); + final Set< String > names = builtinStyles.stream().map( DisplaySettings::getName ).collect( Collectors.toSet() ); + + // Get all JSon files in the folder + final File[] files = new File( folder ).listFiles( ( dir, name ) -> name.toLowerCase().endsWith( ".json" ) ); + if ( files == null ) + return; + + // Read each file and add it if it is valid and has a unique name. + for ( final File file : files ) + { + final DisplaySettings ds = DisplaySettingsIO.read( file.getAbsolutePath() ); + if ( ds == null ) + continue; + if ( names.contains( ds.getName() ) ) + { + System.err.println( "Discarded settings with duplicate name \"" + ds.getName() + "\"." ); + continue; + } + userStyles.add( ds ); + if ( ds.getName().equals( selectedName ) ) + setSelectedStyle( ds ); + } + for ( final DisplaySettings ds : builtinStyles ) + { + if ( ds.getName().equals( selectedName ) ) + setSelectedStyle( ds ); + } + } + + public void saveStyles( final String folder ) + { + new File( folder ).mkdirs(); + + // Save what style is selected in a text file + final File selectedFile = new File( folder, SELECTED_STYLE_FILENAME ); + try + { + Files.writeString( selectedFile.toPath(), selectedStyle.getName() ); + } + catch ( final IOException e ) + { + e.printStackTrace(); + } + + // List all json files in the folder and delete those that do not + // correspond to a user style. + final File[] files = new File( folder ).listFiles( ( dir, name ) -> name.toLowerCase().endsWith( ".json" ) ); + if ( files != null ) + { + final Set< String > userStyleNames = userStyles.stream().map( DisplaySettings::getName ).collect( Collectors.toSet() ); + for ( final File file : files ) + { + final String filename = file.getName().substring( 0, file.getName().length() - 5 ); + if ( !userStyleNames.contains( filename ) ) + file.delete(); + } + } + + // Save all user styles to the folder + for ( final DisplaySettings ds : userStyles ) + DisplaySettingsIO.write( ds, new File( folder, ds.getName() + ".json" ).getAbsolutePath() ); + } +} From 01e14e46c797a80c1fd53b57d2f2ce2cba8ca6fd Mon Sep 17 00:00:00 2001 From: Jean-Yves Tinevez Date: Wed, 5 Aug 2026 16:23:38 +0200 Subject: [PATCH 05/11] The DisplaySettingsManager can be set to modify a specific instance. This is important, as we will load a DisplaySettings from a TrackMate file and want to use this instance. We also want it to appear in the config page and the modifications to be done on this one. --- .../DisplaySettingsConfigPage.java | 2 +- .../DisplaySettingsManager.java | 54 ++++++++++++++----- 2 files changed, 43 insertions(+), 13 deletions(-) diff --git a/src/main/java/fiji/plugin/trackmate/gui/displaysettings/DisplaySettingsConfigPage.java b/src/main/java/fiji/plugin/trackmate/gui/displaysettings/DisplaySettingsConfigPage.java index aa3099157..0918ba7fd 100644 --- a/src/main/java/fiji/plugin/trackmate/gui/displaysettings/DisplaySettingsConfigPage.java +++ b/src/main/java/fiji/plugin/trackmate/gui/displaysettings/DisplaySettingsConfigPage.java @@ -20,7 +20,7 @@ public DisplaySettingsConfigPage( final String treePath, final DisplaySettingsMa { super( treePath, - new StyleProfileManager<>( displaySettingsManager, new DisplaySettingsManager( false ) ), + new StyleProfileManager<>( displaySettingsManager, new DisplaySettingsManager( null, false ) ), new DisplaySettingsPanel( displaySettingsManager.getSelectedStyle() ) ); } diff --git a/src/main/java/fiji/plugin/trackmate/gui/displaysettings/DisplaySettingsManager.java b/src/main/java/fiji/plugin/trackmate/gui/displaysettings/DisplaySettingsManager.java index 0548f2309..7b119a4d6 100644 --- a/src/main/java/fiji/plugin/trackmate/gui/displaysettings/DisplaySettingsManager.java +++ b/src/main/java/fiji/plugin/trackmate/gui/displaysettings/DisplaySettingsManager.java @@ -23,16 +23,33 @@ public class DisplaySettingsManager extends AbstractStyleManager< DisplaySetting public DisplaySettingsManager() { - this( true ); + this( null, true ); } - public DisplaySettingsManager( final boolean loadStyles ) + /** + * Creates a new DisplaySettingsManager. + * + * @param styleToManage + * the style that will be managed by this manager. If + * null, the default style will be used. + * @param loadStyles + * if true, the styles will be loaded from the + * {@link #DISPLAY_SETTINGS_FOLDER} folder. If styleToManage is + * null, the main style will be set to the style + * that was loaded from the folder. + */ + public DisplaySettingsManager( final DisplaySettings styleToManage, final boolean loadStyles ) { - forwardDefaultStyle = DisplaySettings.defaultStyle().copy(); + final boolean loadSelectedStyle = ( null == styleToManage ); + if ( loadSelectedStyle ) + forwardDefaultStyle = DisplaySettings.defaultStyle().copy(); + else + forwardDefaultStyle = styleToManage; + updateForwardDefaultListeners = () -> forwardDefaultStyle.set( selectedStyle ); selectedStyle.listeners().add( updateForwardDefaultListeners ); if ( loadStyles ) - loadStyles(); + loadStyles( loadSelectedStyle ); } public DisplaySettings getForwardDefaultStyle() @@ -59,9 +76,9 @@ protected List< DisplaySettings > loadBuiltinStyles() return List.of( ds1, ds2 ); } - public void loadStyles() + public void loadStyles( final boolean loadSelectedStyle ) { - loadStyles( DISPLAY_SETTINGS_FOLDER ); + loadStyles( DISPLAY_SETTINGS_FOLDER, loadSelectedStyle ); } @Override @@ -70,7 +87,7 @@ public void saveStyles() saveStyles( DISPLAY_SETTINGS_FOLDER ); } - public void loadStyles( final String folder ) + public void loadStyles( final String folder, final boolean loadSelectedStyle ) { // Load the selected style name from the text file final File selectedFile = new File( folder, SELECTED_STYLE_FILENAME ); @@ -82,7 +99,9 @@ public void loadStyles( final String folder ) catch ( final IOException e ) {} - setSelectedStyle( builtinStyles.get( 0 ) ); + if ( loadSelectedStyle ) + setSelectedStyle( builtinStyles.get( 0 ) ); + userStyles.clear(); final Set< String > names = builtinStyles.stream().map( DisplaySettings::getName ).collect( Collectors.toSet() ); @@ -103,13 +122,24 @@ public void loadStyles( final String folder ) continue; } userStyles.add( ds ); - if ( ds.getName().equals( selectedName ) ) + if ( ds.getName().equals( selectedName ) && loadSelectedStyle ) setSelectedStyle( ds ); } - for ( final DisplaySettings ds : builtinStyles ) + + if ( loadSelectedStyle ) { - if ( ds.getName().equals( selectedName ) ) - setSelectedStyle( ds ); + for ( final DisplaySettings ds : builtinStyles ) + { + if ( ds.getName().equals( selectedName ) ) + setSelectedStyle( ds ); + } + } + else + { + final DisplaySettings copy = forwardDefaultStyle.copy(); + userStyles.removeIf( ds -> ds.getName().equals( copy.getName() ) ); + userStyles.add( copy ); + setSelectedStyle( copy ); } } From eb2d182c017421bc2fa1104012dea0105d88ecb3 Mon Sep 17 00:00:00 2001 From: Jean-Yves Tinevez Date: Wed, 5 Aug 2026 16:24:20 +0200 Subject: [PATCH 06/11] The GuiModel has a DisplaySettingsManager, which is set to edit the DisplaySettings instance it was created with. --- src/main/java/fiji/plugin/trackmate/gui/GuiModel.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/main/java/fiji/plugin/trackmate/gui/GuiModel.java b/src/main/java/fiji/plugin/trackmate/gui/GuiModel.java index c27f63eab..d714c9e54 100644 --- a/src/main/java/fiji/plugin/trackmate/gui/GuiModel.java +++ b/src/main/java/fiji/plugin/trackmate/gui/GuiModel.java @@ -13,6 +13,7 @@ import fiji.plugin.trackmate.Settings; import fiji.plugin.trackmate.TrackMate; import fiji.plugin.trackmate.gui.displaysettings.DisplaySettings; +import fiji.plugin.trackmate.gui.displaysettings.DisplaySettingsManager; import fiji.plugin.trackmate.gui.editor.labkit.component.EditorKeymapManager; import fiji.plugin.trackmate.util.TMUtils; import fiji.plugin.trackmate.visualization.hyperstack.behaviours.semiautotracking.SemiAutoTrackingParams; @@ -53,6 +54,8 @@ public class GuiModel private final WindowManager windowManager; + private final DisplaySettingsManager dsManager; + /** * Creates a new GuiModel. * @@ -83,6 +86,9 @@ public GuiModel( final Model model, final Settings settings, final DisplaySettin this.globalActions = new Actions( keymapManager.getForwardSelectedKeymap().getConfig(), KeyConfigContexts.TRACKMATE ); TrackMateActions.install( globalActions, model, selectionModel ); + // Other managers + this.dsManager = new DisplaySettingsManager( displaySettings, true ); + // Window manager this.windowManager = new WindowManager( this ); } @@ -243,4 +249,9 @@ public SemiAutoTrackingParams getSemiAutoTrackingParams() { return semiAutoTrackingparams; } + + public DisplaySettingsManager getDisplaySettingsManager() + { + return dsManager; + } } From 68b56cfe736831f91618c6478c831cddfc0945ac Mon Sep 17 00:00:00 2001 From: Jean-Yves Tinevez Date: Wed, 5 Aug 2026 16:24:35 +0200 Subject: [PATCH 07/11] Add the display settings config page to the preferences. --- src/main/java/fiji/plugin/trackmate/gui/WindowManager.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/fiji/plugin/trackmate/gui/WindowManager.java b/src/main/java/fiji/plugin/trackmate/gui/WindowManager.java index 5b25959ed..0335be4f8 100644 --- a/src/main/java/fiji/plugin/trackmate/gui/WindowManager.java +++ b/src/main/java/fiji/plugin/trackmate/gui/WindowManager.java @@ -29,6 +29,7 @@ import bdv.ui.keymap.KeymapSettingsPage; import bdv.util.InvokeOnEDT; import bvv.vistools.BvvHandle; +import fiji.plugin.trackmate.gui.displaysettings.DisplaySettingsConfigPage; import fiji.plugin.trackmate.gui.editor.LabkitLauncher; import fiji.plugin.trackmate.gui.editor.labkit.component.TMLabKitFrame; import fiji.plugin.trackmate.util.TMUtils; @@ -68,9 +69,10 @@ public WindowManager( final GuiModel guiModel ) preferencesDialog.setTitle( "TrackMate Preferences" ); preferencesDialog.setLocationRelativeTo( null ); BigDataViewerActions.toggleDialogAction( globalActions, preferencesDialog, BigDataViewerActions.PREFERENCES_DIALOG, BigDataViewerActions.PREFERENCES_DIALOG_KEYS ); - preferencesDialog.addPage( new SpotEditToolSettingsPage( "Semi-auto tracking", guiModel.getSemiAutoTrackingParams() ) ); + preferencesDialog.addPage( new DisplaySettingsConfigPage( "Display settings", guiModel.getDisplaySettingsManager() ) ); preferencesDialog.addPage( new KeymapSettingsPage( "Global keymap", keymapManager, keymapManager.getCommandDescriptions() ) ); preferencesDialog.addPage( new KeymapSettingsPage( "Editor keymap", guiModel.getEditorKeymapManager(), guiModel.getEditorKeymapManager().getCommandDescriptions() ) ); + preferencesDialog.addPage( new SpotEditToolSettingsPage( "Semi-auto tracking", guiModel.getSemiAutoTrackingParams() ) ); preferencesDialog.addPage( new AppearanceSettingsPage( "Editor appearance", guiModel.getAppearanceManager() ) ); } From 22f03c48ef8d9e883a98efda15c0b716640563ce Mon Sep 17 00:00:00 2001 From: Jean-Yves Tinevez Date: Thu, 6 Aug 2026 11:25:10 +0200 Subject: [PATCH 08/11] Remove the old tool to configure display settings. Now everything is done in the Preferences dialog. The readUserDefault() method now returns the last settings used and configured by the user in the dialog. --- .../gui/components/ConfigureViewsPanel.java | 26 +--- .../ConfigTrackMateDisplaySettings.java | 145 ------------------ .../displaysettings/DisplaySettingsIO.java | 41 +---- .../DisplaySettingsManager.java | 74 +++++---- 4 files changed, 53 insertions(+), 233 deletions(-) delete mode 100644 src/main/java/fiji/plugin/trackmate/gui/displaysettings/ConfigTrackMateDisplaySettings.java diff --git a/src/main/java/fiji/plugin/trackmate/gui/components/ConfigureViewsPanel.java b/src/main/java/fiji/plugin/trackmate/gui/components/ConfigureViewsPanel.java index c4e789bf8..f60a66d2a 100644 --- a/src/main/java/fiji/plugin/trackmate/gui/components/ConfigureViewsPanel.java +++ b/src/main/java/fiji/plugin/trackmate/gui/components/ConfigureViewsPanel.java @@ -25,7 +25,6 @@ import static fiji.plugin.trackmate.gui.Fonts.FONT; import static fiji.plugin.trackmate.gui.Fonts.SMALL_FONT; import static fiji.plugin.trackmate.gui.Icons.BVV_ICON; -import static fiji.plugin.trackmate.gui.Icons.EDIT_SETTINGS_ICON; import static fiji.plugin.trackmate.gui.Icons.SPOT_TABLE_ICON; import static fiji.plugin.trackmate.gui.Icons.TRACK_SCHEME_ICON_16x16; import static fiji.plugin.trackmate.gui.Icons.TRACK_TABLES_ICON; @@ -46,7 +45,6 @@ import javax.swing.JCheckBox; import javax.swing.JComboBox; import javax.swing.JFormattedTextField; -import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JRootPane; @@ -61,7 +59,6 @@ import fiji.plugin.trackmate.gui.GuiUtils; import fiji.plugin.trackmate.gui.Icons; import fiji.plugin.trackmate.gui.WindowManager; -import fiji.plugin.trackmate.gui.displaysettings.ConfigTrackMateDisplaySettings; import fiji.plugin.trackmate.gui.displaysettings.DisplaySettings; import fiji.plugin.trackmate.gui.displaysettings.DisplaySettings.TrackDisplayMode; import fiji.plugin.trackmate.gui.displaysettings.DisplaySettings.UpdateListener; @@ -97,6 +94,7 @@ public ConfigureViewsPanel( final GuiModel guiModel, final FeatureDisplaySelecto { this.guiModel = guiModel; this.windowManager = guiModel.getWindowManager(); + final DisplaySettings ds = guiModel.getDisplaySettings(); this.setPreferredSize( new Dimension( 300, 521 ) ); this.setSize( 300, 500 ); @@ -121,28 +119,6 @@ public ConfigureViewsPanel( final GuiModel guiModel, final FeatureDisplaySelecto gbcLabelDisplayOptions.gridy = 0; add( lblDisplayOptions, gbcLabelDisplayOptions ); - /* - * Settings editor. - */ - - final DisplaySettings ds = guiModel.getDisplaySettings(); - final JFrame editor = ConfigTrackMateDisplaySettings.editor( ds, - "Configure the display settings used in this current session.", - "TrackMate display settings" ); - editor.setLocationRelativeTo( this.getParent() ); - editor.setDefaultCloseOperation( JFrame.HIDE_ON_CLOSE ); - - final JButton btnEditSettings = new JButton( "Edit settings", EDIT_SETTINGS_ICON ); - btnEditSettings.addActionListener( e -> editor.setVisible( !editor.isVisible() ) ); - - final GridBagConstraints gbcBtnEditSettings = new GridBagConstraints(); - gbcBtnEditSettings.fill = GridBagConstraints.NONE; - gbcBtnEditSettings.insets = new Insets( 5, 5, 5, 5 ); - gbcBtnEditSettings.anchor = GridBagConstraints.EAST; - gbcBtnEditSettings.gridx = 1; - gbcBtnEditSettings.gridy = 0; - add( btnEditSettings, gbcBtnEditSettings ); - /* * Display spot checkbox. */ diff --git a/src/main/java/fiji/plugin/trackmate/gui/displaysettings/ConfigTrackMateDisplaySettings.java b/src/main/java/fiji/plugin/trackmate/gui/displaysettings/ConfigTrackMateDisplaySettings.java deleted file mode 100644 index cacd05971..000000000 --- a/src/main/java/fiji/plugin/trackmate/gui/displaysettings/ConfigTrackMateDisplaySettings.java +++ /dev/null @@ -1,145 +0,0 @@ -/*- - * #%L - * TrackMate: your buddy for everyday tracking. - * %% - * Copyright (C) 2010 - 2026 TrackMate developers. - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * . - * #L% - */ -package fiji.plugin.trackmate.gui.displaysettings; - -import static fiji.plugin.trackmate.gui.Icons.APPLY_ICON; -import static fiji.plugin.trackmate.gui.Icons.RESET_ICON; -import static fiji.plugin.trackmate.gui.Icons.REVERT_ICON; -import static fiji.plugin.trackmate.gui.Icons.TRACKMATE_ICON; - -import java.awt.BorderLayout; - -import javax.swing.BorderFactory; -import javax.swing.Box; -import javax.swing.BoxLayout; -import javax.swing.JButton; -import javax.swing.JFrame; -import javax.swing.JLabel; -import javax.swing.JPanel; -import javax.swing.UIManager; -import javax.swing.UnsupportedLookAndFeelException; - -import org.scijava.command.Command; -import org.scijava.plugin.Plugin; - -import ij.ImageJ; - -@Plugin( type = Command.class, - label = "Configure TrackMate display settings...", - iconPath = "/icons/commands/information.png", - menuPath = "Edit > Options > Configure TrackMate display settings..." ) -public class ConfigTrackMateDisplaySettings implements Command -{ - - private static final String APPLY_TOOLTIP = "Save the current settings to the user default settings. " - + "They will be used in all the following TrackMate sessions."; - private static final String REVERT_TOOLTIP = "Revert the current settings to the ones saved in the " - + "user default settings file."; - private static final String RESET_TOOLTIP = "Reset the current settings to the built-in defaults."; - - @Override - public void run() - { - editor( DisplaySettingsIO.readUserDefault(), - "Configure the default settings to be used by TrackMate.", - "TrackMate user default settings" ).setVisible( true ); - } - - public static JFrame editor( final DisplaySettings ds, final String titleStr, final String frameName ) - { - final JPanel configPanel = new JPanel(); - configPanel.setLayout( new BorderLayout() ); - - /* - * Title. - */ - - final JLabel title = new JLabel( "" - + titleStr - + "" ); - title.setBorder( BorderFactory.createEmptyBorder( 10, 5, 10, 5 ) ); - configPanel.add( title, BorderLayout.NORTH ); - - /* - * Buttons. - */ - - final JPanel panelButton = new JPanel(); - final BoxLayout panelButtonLayout = new BoxLayout( panelButton, BoxLayout.LINE_AXIS ); - panelButton.setLayout( panelButtonLayout ); - final JButton btnReset = new JButton( "Reset", RESET_ICON ); - btnReset.setToolTipText( RESET_TOOLTIP ); - final JButton btnRevert = new JButton( "Revert", REVERT_ICON ); - btnRevert.setToolTipText( REVERT_TOOLTIP ); - final JButton btnApply = new JButton( "Save to user defaults", APPLY_ICON ); - btnApply.setToolTipText( APPLY_TOOLTIP ); - panelButton.add( btnReset ); - panelButton.add( Box.createHorizontalStrut( 5 ) ); - panelButton.add( btnRevert ); - panelButton.add( Box.createHorizontalGlue() ); - panelButton.add( btnApply ); - panelButton.setBorder( BorderFactory.createEmptyBorder( 10, 5, 10, 5 ) ); - configPanel.add( panelButton, BorderLayout.SOUTH ); - - /* - * Display settings editor. - */ - - final DisplaySettingsPanel editor = new DisplaySettingsPanel( ds ); - configPanel.add( editor, BorderLayout.CENTER ); - - /* - * Listeners. - */ - - btnReset.addActionListener( e -> { - ds.set( DisplaySettings.defaultStyle().copy( "User-default" ) ); - title.setText( "Reset the current settings to the built-in defaults." ); - } ); - btnRevert.addActionListener( e -> { - ds.set( DisplaySettingsIO.readUserDefault() ); - title.setText( "Reverted the current settings to the user defaults." ); - } ); - btnApply.addActionListener( e -> { - DisplaySettingsIO.saveToUserDefault( ds ); - title.setText( "Saved the current settings to the user defaults file." ); - } ); - - /* - * Create and show frame. - */ - - final JFrame frame = new JFrame( frameName ); - frame.setIconImage( TRACKMATE_ICON.getImage() ); - frame.getContentPane().add( configPanel ); - frame.pack(); - frame.setLocationRelativeTo( null ); - return frame; - } - - public static void main( final String[] args ) throws ClassNotFoundException, InstantiationException, IllegalAccessException, UnsupportedLookAndFeelException - { - UIManager.setLookAndFeel( UIManager.getSystemLookAndFeelClassName() ); - ImageJ.main( args ); - new ConfigTrackMateDisplaySettings().run(); - } -} diff --git a/src/main/java/fiji/plugin/trackmate/gui/displaysettings/DisplaySettingsIO.java b/src/main/java/fiji/plugin/trackmate/gui/displaysettings/DisplaySettingsIO.java index 7f7cbcd02..9c8d5052f 100644 --- a/src/main/java/fiji/plugin/trackmate/gui/displaysettings/DisplaySettingsIO.java +++ b/src/main/java/fiji/plugin/trackmate/gui/displaysettings/DisplaySettingsIO.java @@ -50,8 +50,6 @@ public class DisplaySettingsIO { - private static File userDefaultFile = new File( new File( System.getProperty( "user.home" ), ".trackmate" ), "userdefaultsettings.json" ); - public static void toXML( final DisplaySettings ds, final Element dsel ) { dsel.setText( toJson( ds ) ); @@ -64,7 +62,9 @@ public static String toJson( final DisplaySettings ds ) public static DisplaySettings fromJson( final String str ) { - final DisplaySettings ds = ( str == null || str.isEmpty() ) ? readUserDefault() : getGson().fromJson( str, DisplaySettings.class ); + final DisplaySettings ds = ( str == null || str.isEmpty() ) + ? DisplaySettings.defaultStyle().copy() + : getGson().fromJson( str, DisplaySettings.class ); // Sanitize min and max. final double spotMin = ds.getSpotMin(); @@ -106,24 +106,6 @@ public static void write( final DisplaySettings ds, final String path ) } } - public static void saveToUserDefault( final DisplaySettings ds ) - { - final String str = toJson( ds ); - - if ( !userDefaultFile.exists() ) - userDefaultFile.getParentFile().mkdirs(); - - try (FileWriter writer = new FileWriter( userDefaultFile )) - { - writer.append( str ); - } - catch ( final IOException e ) - { - System.err.println( "Could not write the user default settings to " + userDefaultFile ); - e.printStackTrace(); - } - } - public static DisplaySettings read( final String path ) { try (FileReader reader = new FileReader( path )) @@ -143,16 +125,8 @@ public static DisplaySettings read( final String path ) public static DisplaySettings readUserDefault() { - if ( !userDefaultFile.exists() ) - { - final DisplaySettings ds = DisplaySettings.defaultStyle().copy( "User-default" ); - saveToUserDefault( ds ); - return ds; - } - final DisplaySettings ds = read( userDefaultFile.getAbsolutePath() ); - if ( ds != null ) - return ds; - return DisplaySettings.defaultStyle().copy(); + return new DisplaySettingsManager().getInstance().copy(); + } /** @@ -272,9 +246,4 @@ public Color deserialize( final JsonElement json, final Type typeOfT, final Json } } } - - public static void main( final String[] args ) - { - System.out.println( readUserDefault() ); - } } diff --git a/src/main/java/fiji/plugin/trackmate/gui/displaysettings/DisplaySettingsManager.java b/src/main/java/fiji/plugin/trackmate/gui/displaysettings/DisplaySettingsManager.java index 7b119a4d6..c739185a1 100644 --- a/src/main/java/fiji/plugin/trackmate/gui/displaysettings/DisplaySettingsManager.java +++ b/src/main/java/fiji/plugin/trackmate/gui/displaysettings/DisplaySettingsManager.java @@ -8,7 +8,9 @@ import java.util.stream.Collectors; import bdv.ui.settings.style.AbstractStyleManager; +import fiji.plugin.trackmate.features.track.TrackIndexAnalyzer; import fiji.plugin.trackmate.gui.displaysettings.DisplaySettings.TrackDisplayMode; +import fiji.plugin.trackmate.gui.displaysettings.DisplaySettings.TrackMateObject; public class DisplaySettingsManager extends AbstractStyleManager< DisplaySettingsManager, DisplaySettings > { @@ -21,38 +23,48 @@ public class DisplaySettingsManager extends AbstractStyleManager< DisplaySetting private final DisplaySettings.UpdateListener updateForwardDefaultListeners; - public DisplaySettingsManager() - { - this( null, true ); - } - /** * Creates a new DisplaySettingsManager. * - * @param styleToManage + * @param instance * the style that will be managed by this manager. If - * null, the default style will be used. + * null, a new instance will be created with the + * default style. * @param loadStyles * if true, the styles will be loaded from the - * {@link #DISPLAY_SETTINGS_FOLDER} folder. If styleToManage is - * null, the main style will be set to the style - * that was loaded from the folder. + * {@link #DISPLAY_SETTINGS_FOLDER} folder. */ - public DisplaySettingsManager( final DisplaySettings styleToManage, final boolean loadStyles ) + public DisplaySettingsManager( final DisplaySettings instance, final boolean loadStyles ) { - final boolean loadSelectedStyle = ( null == styleToManage ); - if ( loadSelectedStyle ) - forwardDefaultStyle = DisplaySettings.defaultStyle().copy(); + final boolean instanceProvided = ( null != instance ); + if ( instanceProvided ) + forwardDefaultStyle = instance; else - forwardDefaultStyle = styleToManage; + forwardDefaultStyle = DisplaySettings.defaultStyle().copy(); updateForwardDefaultListeners = () -> forwardDefaultStyle.set( selectedStyle ); selectedStyle.listeners().add( updateForwardDefaultListeners ); if ( loadStyles ) - loadStyles( loadSelectedStyle ); + loadStyles( instanceProvided ); + } + + /** + * Creates a new DisplaySettingsManager and loads the styles from the + * {@link #DISPLAY_SETTINGS_FOLDER} folder. The {@link #getInstance()} will + * be set to the last configured style by the user. + */ + public DisplaySettingsManager() + { + this( null, true ); } - public DisplaySettings getForwardDefaultStyle() + /** + * Exposes the style that is managed by this manager. This instance will be + * modified by the settings editor using this manager. + * + * @return the style that is managed by this manager. + */ + public DisplaySettings getInstance() { return forwardDefaultStyle; } @@ -70,15 +82,23 @@ public synchronized void setSelectedStyle( final DisplaySettings ds ) protected List< DisplaySettings > loadBuiltinStyles() { final DisplaySettings ds1 = DisplaySettings.defaultStyle(); - final DisplaySettings ds2 = ds1.copy( "Dragon tail" ); - ds2.setLineThickness( 2. ); - ds2.setTrackDisplayMode( TrackDisplayMode.LOCAL_BACKWARD ); - return List.of( ds1, ds2 ); + + final DisplaySettings ds2 = ds1.copy( "Color by track" ); + ds2.setTrackColorBy( TrackMateObject.TRACKS, TrackIndexAnalyzer.TRACK_INDEX ); + ds2.setSpotColorBy( TrackMateObject.TRACKS, TrackIndexAnalyzer.TRACK_INDEX ); + + final DisplaySettings ds3 = ds2.copy( "Dragon tail" ); + ds3.setLineThickness( 2. ); + ds3.setTrackDisplayMode( TrackDisplayMode.LOCAL_BACKWARD ); + ds3.setSpotFilled( true ); + ds3.setSpotTransparencyAlpha( 0.8 ); + + return List.of( ds1, ds2, ds3 ); } - public void loadStyles( final boolean loadSelectedStyle ) + public void loadStyles( final boolean instanceProvided ) { - loadStyles( DISPLAY_SETTINGS_FOLDER, loadSelectedStyle ); + loadStyles( DISPLAY_SETTINGS_FOLDER, instanceProvided ); } @Override @@ -87,7 +107,7 @@ public void saveStyles() saveStyles( DISPLAY_SETTINGS_FOLDER ); } - public void loadStyles( final String folder, final boolean loadSelectedStyle ) + public void loadStyles( final String folder, final boolean instanceProvided ) { // Load the selected style name from the text file final File selectedFile = new File( folder, SELECTED_STYLE_FILENAME ); @@ -99,7 +119,7 @@ public void loadStyles( final String folder, final boolean loadSelectedStyle ) catch ( final IOException e ) {} - if ( loadSelectedStyle ) + if ( !instanceProvided ) setSelectedStyle( builtinStyles.get( 0 ) ); userStyles.clear(); @@ -122,11 +142,11 @@ public void loadStyles( final String folder, final boolean loadSelectedStyle ) continue; } userStyles.add( ds ); - if ( ds.getName().equals( selectedName ) && loadSelectedStyle ) + if ( ds.getName().equals( selectedName ) && !instanceProvided ) setSelectedStyle( ds ); } - if ( loadSelectedStyle ) + if ( !instanceProvided ) { for ( final DisplaySettings ds : builtinStyles ) { From 815a300d98b634b957410e80541285969d409e99 Mon Sep 17 00:00:00 2001 From: Jean-Yves Tinevez Date: Thu, 6 Aug 2026 11:25:31 +0200 Subject: [PATCH 09/11] In the wizard, make spots visible when filtering them if they are invisible. --- .../gui/wizard/descriptors/SpotFilterDescriptor.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/main/java/fiji/plugin/trackmate/gui/wizard/descriptors/SpotFilterDescriptor.java b/src/main/java/fiji/plugin/trackmate/gui/wizard/descriptors/SpotFilterDescriptor.java index 4037a22fc..2ea163d22 100644 --- a/src/main/java/fiji/plugin/trackmate/gui/wizard/descriptors/SpotFilterDescriptor.java +++ b/src/main/java/fiji/plugin/trackmate/gui/wizard/descriptors/SpotFilterDescriptor.java @@ -34,6 +34,7 @@ import fiji.plugin.trackmate.Spot; import fiji.plugin.trackmate.TrackMate; import fiji.plugin.trackmate.features.FeatureFilter; +import fiji.plugin.trackmate.features.FeatureUtils; import fiji.plugin.trackmate.gui.GuiModel; import fiji.plugin.trackmate.gui.components.FeatureDisplaySelector; import fiji.plugin.trackmate.gui.components.FilterGuiPanel; @@ -140,6 +141,11 @@ public void run() logger.log( String.format( "Calculating features done in %.1f s.\n", ( end - start ) / 1e3f ) ); panel.showProgressBar( false ); + // If spots are not very visible because of the display + // settings, make them visible. + guiModel.getDisplaySettings().setSpotVisible( true ); + guiModel.getDisplaySettings().setSpotColorBy( TrackMateObject.SPOTS, FeatureUtils.USE_UNIFORM_COLOR_KEY ); + // Refresh component. panel.refreshValues(); filterSpots(); From 320b724fb48b1a6b312565428a87553552ca9aa3 Mon Sep 17 00:00:00 2001 From: Jean-Yves Tinevez Date: Thu, 6 Aug 2026 18:51:27 +0200 Subject: [PATCH 10/11] Remove the TrackMate style element classes and resources. We moved everything to the config-ui artifact. --- pom.xml | 6 - .../action/closegaps/CloseGapsPanel.java | 7 +- .../action/meshtools/MeshSmootherPanel.java | 17 +- .../components/FeatureDisplaySelector.java | 3 +- .../gui/components/PanelProbaThreshold.java | 6 +- .../gui/components/PanelSmoothContour.java | 6 +- .../gui/displaysettings/BoundedValue.java | 97 -- .../displaysettings/BoundedValueDouble.java | 97 -- .../gui/displaysettings/ColorIcon.java | 93 -- .../gui/displaysettings/Colormap.java | 313 ----- .../gui/displaysettings/ColormapIO.java | 169 --- .../gui/displaysettings/DisplaySettings.java | 1 + .../displaysettings/DisplaySettingsIO.java | 1 + .../displaysettings/DisplaySettingsPanel.java | 68 +- .../gui/displaysettings/SliderPanel.java | 205 --- .../displaysettings/SliderPanelDouble.java | 287 ---- .../gui/displaysettings/StyleElements.java | 1208 ----------------- .../TrackMateStyleElements.java | 118 ++ .../config/GenericConfigPanelPreview.java | 2 +- .../PerEdgeFeatureColorGenerator.java | 2 +- .../PerSpotFeatureColorGenerator.java | 2 +- .../PerTrackFeatureColorGenerator.java | 2 +- .../visualization/SpotColorGenerator.java | 3 +- .../SpotColorGeneratorPerEdgeFeature.java | 2 +- .../SpotColorGeneratorPerTrackFeature.java | 3 +- .../WholeTrackFeatureColorGenerator.java | 3 +- .../visualization/table/TablePanel.java | 3 +- .../gui/displaysettings/luts/Algae.lut | 257 ---- .../gui/displaysettings/luts/Amp.lut | 257 ---- .../gui/displaysettings/luts/Balance.lut | 257 ---- .../gui/displaysettings/luts/Curl.lut | 257 ---- .../gui/displaysettings/luts/Deep.lut | 257 ---- .../gui/displaysettings/luts/Delta.lut | 257 ---- .../gui/displaysettings/luts/Dense.lut | 257 ---- .../gui/displaysettings/luts/Gray.lut | 257 ---- .../gui/displaysettings/luts/Haline.lut | 257 ---- .../gui/displaysettings/luts/Ice.lut | 257 ---- .../gui/displaysettings/luts/Matter.lut | 257 ---- .../gui/displaysettings/luts/Oxy.lut | 257 ---- .../gui/displaysettings/luts/Phase.lut | 257 ---- .../gui/displaysettings/luts/Solar.lut | 257 ---- .../gui/displaysettings/luts/Speed.lut | 257 ---- .../gui/displaysettings/luts/Tempo.lut | 257 ---- .../gui/displaysettings/luts/Thermal.lut | 257 ---- .../gui/displaysettings/luts/Turbid.lut | 257 ---- 45 files changed, 188 insertions(+), 7162 deletions(-) delete mode 100644 src/main/java/fiji/plugin/trackmate/gui/displaysettings/BoundedValue.java delete mode 100644 src/main/java/fiji/plugin/trackmate/gui/displaysettings/BoundedValueDouble.java delete mode 100644 src/main/java/fiji/plugin/trackmate/gui/displaysettings/ColorIcon.java delete mode 100644 src/main/java/fiji/plugin/trackmate/gui/displaysettings/Colormap.java delete mode 100644 src/main/java/fiji/plugin/trackmate/gui/displaysettings/ColormapIO.java delete mode 100644 src/main/java/fiji/plugin/trackmate/gui/displaysettings/SliderPanel.java delete mode 100644 src/main/java/fiji/plugin/trackmate/gui/displaysettings/SliderPanelDouble.java delete mode 100644 src/main/java/fiji/plugin/trackmate/gui/displaysettings/StyleElements.java create mode 100644 src/main/java/fiji/plugin/trackmate/gui/displaysettings/TrackMateStyleElements.java delete mode 100644 src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Algae.lut delete mode 100644 src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Amp.lut delete mode 100644 src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Balance.lut delete mode 100644 src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Curl.lut delete mode 100644 src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Deep.lut delete mode 100644 src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Delta.lut delete mode 100644 src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Dense.lut delete mode 100644 src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Gray.lut delete mode 100644 src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Haline.lut delete mode 100644 src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Ice.lut delete mode 100644 src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Matter.lut delete mode 100644 src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Oxy.lut delete mode 100644 src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Phase.lut delete mode 100644 src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Solar.lut delete mode 100644 src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Speed.lut delete mode 100644 src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Tempo.lut delete mode 100644 src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Thermal.lut delete mode 100644 src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Turbid.lut diff --git a/pom.xml b/pom.xml index 838eff3ab..3e2b2eb82 100644 --- a/pom.xml +++ b/pom.xml @@ -179,7 +179,6 @@ (https://github.com/scijava/scijava-coding-style) --> imglib2 - 2.5.2 0.11.1 8.0.0 10.6.7 @@ -391,11 +390,6 @@ javaGeom ${javaGeom.version} - - org.drjekyll - fontchooser - ${fontchooser.version} - diff --git a/src/main/java/fiji/plugin/trackmate/action/closegaps/CloseGapsPanel.java b/src/main/java/fiji/plugin/trackmate/action/closegaps/CloseGapsPanel.java index 2012beb98..ae4d7d45a 100644 --- a/src/main/java/fiji/plugin/trackmate/action/closegaps/CloseGapsPanel.java +++ b/src/main/java/fiji/plugin/trackmate/action/closegaps/CloseGapsPanel.java @@ -39,11 +39,12 @@ import javax.swing.SwingConstants; import javax.swing.border.EmptyBorder; +import org.scijava.ui.config.visitors.gui.elements.SliderPanelDouble; +import org.scijava.ui.config.visitors.gui.elements.StyleElements; +import org.scijava.ui.config.visitors.gui.elements.StyleElements.BoundedDoubleElement; + import fiji.plugin.trackmate.action.closegaps.GapClosingMethod.GapClosingParameter; import fiji.plugin.trackmate.gui.Fonts; -import fiji.plugin.trackmate.gui.displaysettings.SliderPanelDouble; -import fiji.plugin.trackmate.gui.displaysettings.StyleElements; -import fiji.plugin.trackmate.gui.displaysettings.StyleElements.BoundedDoubleElement; /** * A basic UI to let a TrackMate user choose between several techniques for gap diff --git a/src/main/java/fiji/plugin/trackmate/action/meshtools/MeshSmootherPanel.java b/src/main/java/fiji/plugin/trackmate/action/meshtools/MeshSmootherPanel.java index 4987a6f3b..c8c47d638 100644 --- a/src/main/java/fiji/plugin/trackmate/action/meshtools/MeshSmootherPanel.java +++ b/src/main/java/fiji/plugin/trackmate/action/meshtools/MeshSmootherPanel.java @@ -39,14 +39,15 @@ import javax.swing.JRadioButton; import javax.swing.JTabbedPane; -import fiji.plugin.trackmate.gui.displaysettings.SliderPanel; -import fiji.plugin.trackmate.gui.displaysettings.SliderPanelDouble; -import fiji.plugin.trackmate.gui.displaysettings.StyleElements; -import fiji.plugin.trackmate.gui.displaysettings.StyleElements.BoundedDoubleElement; -import fiji.plugin.trackmate.gui.displaysettings.StyleElements.EnumElement; -import fiji.plugin.trackmate.gui.displaysettings.StyleElements.IntElement; -import fiji.plugin.trackmate.gui.displaysettings.StyleElements.StyleElement; -import fiji.plugin.trackmate.gui.displaysettings.StyleElements.StyleElementVisitor; +import org.scijava.ui.config.visitors.gui.elements.SliderPanel; +import org.scijava.ui.config.visitors.gui.elements.SliderPanelDouble; +import org.scijava.ui.config.visitors.gui.elements.StyleElement; +import org.scijava.ui.config.visitors.gui.elements.StyleElementVisitor; +import org.scijava.ui.config.visitors.gui.elements.StyleElements; +import org.scijava.ui.config.visitors.gui.elements.StyleElements.BoundedDoubleElement; +import org.scijava.ui.config.visitors.gui.elements.StyleElements.EnumElement; +import org.scijava.ui.config.visitors.gui.elements.StyleElements.IntElement; + import net.imglib2.mesh.alg.TaubinSmoothing.TaubinWeightType; public class MeshSmootherPanel extends JPanel diff --git a/src/main/java/fiji/plugin/trackmate/gui/components/FeatureDisplaySelector.java b/src/main/java/fiji/plugin/trackmate/gui/components/FeatureDisplaySelector.java index 019204688..512aff85d 100644 --- a/src/main/java/fiji/plugin/trackmate/gui/components/FeatureDisplaySelector.java +++ b/src/main/java/fiji/plugin/trackmate/gui/components/FeatureDisplaySelector.java @@ -59,6 +59,8 @@ import javax.swing.JPopupMenu; import javax.swing.SwingConstants; +import org.scijava.ui.config.visitors.gui.elements.colormap.Colormap; + import fiji.plugin.trackmate.Model; import fiji.plugin.trackmate.ModelChangeEvent; import fiji.plugin.trackmate.Settings; @@ -67,7 +69,6 @@ import fiji.plugin.trackmate.features.manual.ManualSpotColorAnalyzerFactory; import fiji.plugin.trackmate.features.track.TrackIndexAnalyzer; import fiji.plugin.trackmate.gui.GuiUtils; -import fiji.plugin.trackmate.gui.displaysettings.Colormap; import fiji.plugin.trackmate.gui.displaysettings.DisplaySettings; import fiji.plugin.trackmate.gui.displaysettings.DisplaySettings.TrackMateObject; diff --git a/src/main/java/fiji/plugin/trackmate/gui/components/PanelProbaThreshold.java b/src/main/java/fiji/plugin/trackmate/gui/components/PanelProbaThreshold.java index bf0212b17..923828d37 100644 --- a/src/main/java/fiji/plugin/trackmate/gui/components/PanelProbaThreshold.java +++ b/src/main/java/fiji/plugin/trackmate/gui/components/PanelProbaThreshold.java @@ -31,9 +31,9 @@ import javax.swing.JLabel; import javax.swing.JPanel; -import fiji.plugin.trackmate.gui.displaysettings.SliderPanelDouble; -import fiji.plugin.trackmate.gui.displaysettings.StyleElements; -import fiji.plugin.trackmate.gui.displaysettings.StyleElements.BoundedDoubleElement; +import org.scijava.ui.config.visitors.gui.elements.SliderPanelDouble; +import org.scijava.ui.config.visitors.gui.elements.StyleElements; +import org.scijava.ui.config.visitors.gui.elements.StyleElements.BoundedDoubleElement; /** * A utility widget that lets a user specify a threshold on a probability value, diff --git a/src/main/java/fiji/plugin/trackmate/gui/components/PanelSmoothContour.java b/src/main/java/fiji/plugin/trackmate/gui/components/PanelSmoothContour.java index 466ae4c5f..741e66cf9 100644 --- a/src/main/java/fiji/plugin/trackmate/gui/components/PanelSmoothContour.java +++ b/src/main/java/fiji/plugin/trackmate/gui/components/PanelSmoothContour.java @@ -32,9 +32,9 @@ import javax.swing.JLabel; import javax.swing.JPanel; -import fiji.plugin.trackmate.gui.displaysettings.SliderPanelDouble; -import fiji.plugin.trackmate.gui.displaysettings.StyleElements; -import fiji.plugin.trackmate.gui.displaysettings.StyleElements.BoundedDoubleElement; +import org.scijava.ui.config.visitors.gui.elements.SliderPanelDouble; +import org.scijava.ui.config.visitors.gui.elements.StyleElements; +import org.scijava.ui.config.visitors.gui.elements.StyleElements.BoundedDoubleElement; public class PanelSmoothContour extends JPanel { diff --git a/src/main/java/fiji/plugin/trackmate/gui/displaysettings/BoundedValue.java b/src/main/java/fiji/plugin/trackmate/gui/displaysettings/BoundedValue.java deleted file mode 100644 index 4c0efd3bc..000000000 --- a/src/main/java/fiji/plugin/trackmate/gui/displaysettings/BoundedValue.java +++ /dev/null @@ -1,97 +0,0 @@ -/* - * #%L - * TrackMate: your buddy for everyday tracking. - * %% - * Copyright (C) 2010 - 2026 TrackMate developers. - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * . - * #L% - */ -package fiji.plugin.trackmate.gui.displaysettings; - -/** - * A int variable that can take any value in a given range. A - * {@link #setUpdateListener(UpdateListener) listener} is notified when the - * value or its allowed range is changed. - * - * @author Tobias Pietzsch - */ -public class BoundedValue -{ - private int rangeMin; - - private int rangeMax; - - private int currentValue; - - public interface UpdateListener - { - void update(); - } - - private UpdateListener updateListener; - - public BoundedValue( final int rangeMin, final int rangeMax, final int currentValue ) - { - this.rangeMin = rangeMin; - this.rangeMax = rangeMax; - this.currentValue = currentValue; - updateListener = null; - } - - public int getRangeMin() - { - return rangeMin; - } - - public int getRangeMax() - { - return rangeMax; - } - - public int getCurrentValue() - { - return currentValue; - } - - public void setRange( final int min, final int max ) - { - assert min <= max; - rangeMin = min; - rangeMax = max; - currentValue = Math.min( Math.max( currentValue, min ), max ); - - if ( updateListener != null ) - updateListener.update(); - } - - public void setCurrentValue( final int value ) - { - currentValue = value; - - if ( currentValue < rangeMin ) - currentValue = rangeMin; - else if ( currentValue > rangeMax ) - currentValue = rangeMax; - - if ( updateListener != null ) - updateListener.update(); - } - - public void setUpdateListener( final UpdateListener l ) - { - updateListener = l; - } -} diff --git a/src/main/java/fiji/plugin/trackmate/gui/displaysettings/BoundedValueDouble.java b/src/main/java/fiji/plugin/trackmate/gui/displaysettings/BoundedValueDouble.java deleted file mode 100644 index 61f987d28..000000000 --- a/src/main/java/fiji/plugin/trackmate/gui/displaysettings/BoundedValueDouble.java +++ /dev/null @@ -1,97 +0,0 @@ -/* - * #%L - * TrackMate: your buddy for everyday tracking. - * %% - * Copyright (C) 2010 - 2026 TrackMate developers. - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * . - * #L% - */ -package fiji.plugin.trackmate.gui.displaysettings; - -/** - * A {@code double} variable that can take any value in a given range. A - * {@link #setUpdateListener(UpdateListener) listener} is notified when the - * value or its allowed range is changed. - * - * @author Tobias Pietzsch - */ -public class BoundedValueDouble -{ - private double rangeMin; - - private double rangeMax; - - private double currentValue; - - public interface UpdateListener - { - void update(); - } - - private UpdateListener updateListener; - - public BoundedValueDouble( final double rangeMin, final double rangeMax, final double currentValue ) - { - this.rangeMin = rangeMin; - this.rangeMax = rangeMax; - this.currentValue = currentValue; - updateListener = null; - } - - public double getRangeMin() - { - return rangeMin; - } - - public double getRangeMax() - { - return rangeMax; - } - - public double getCurrentValue() - { - return currentValue; - } - - public void setRange( final double min, final double max ) - { - assert min <= max; - rangeMin = min; - rangeMax = max; - currentValue = Math.min( Math.max( currentValue, min ), max ); - - if ( updateListener != null ) - updateListener.update(); - } - - public void setCurrentValue( final double value ) - { - currentValue = value; - - if ( currentValue < rangeMin ) - currentValue = rangeMin; - else if ( currentValue > rangeMax ) - currentValue = rangeMax; - - if ( updateListener != null ) - updateListener.update(); - } - - public void setUpdateListener( final UpdateListener l ) - { - updateListener = l; - } -} diff --git a/src/main/java/fiji/plugin/trackmate/gui/displaysettings/ColorIcon.java b/src/main/java/fiji/plugin/trackmate/gui/displaysettings/ColorIcon.java deleted file mode 100644 index 6356a4252..000000000 --- a/src/main/java/fiji/plugin/trackmate/gui/displaysettings/ColorIcon.java +++ /dev/null @@ -1,93 +0,0 @@ -/*- - * #%L - * TrackMate: your buddy for everyday tracking. - * %% - * Copyright (C) 2010 - 2026 TrackMate developers. - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * . - * #L% - */ -package fiji.plugin.trackmate.gui.displaysettings; - -import java.awt.Color; -import java.awt.Component; -import java.awt.Graphics; -import java.awt.Graphics2D; -import java.awt.RenderingHints; -import java.awt.geom.RoundRectangle2D; - -import javax.swing.Icon; - -/** - * Adapted from http://stackoverflow.com/a/3072979/230513 - */ -public class ColorIcon implements Icon -{ - private static final int DEFAULT_PAD = 0; - - private static final int DEFAUL_SIZE = 16; - - private final int size; - - private Color color; - - private final int pad; - - public ColorIcon( final Color color, final int size, final int pad ) - { - this.color = color; - this.size = size; - this.pad = pad; - } - - public ColorIcon( final Color color, final int size ) - { - this( color, size, DEFAULT_PAD ); - } - - public ColorIcon( final Color color ) - { - this( color, DEFAUL_SIZE ); - } - - @Override - public void paintIcon( final Component c, final Graphics g, final int x, final int y ) - { - final Graphics2D g2d = ( Graphics2D ) g; - g2d.setRenderingHint( RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON ); - g2d.setColor( color ); - final RoundRectangle2D.Float shape = new RoundRectangle2D.Float( x + pad, y + pad, size, size, 5, 5 ); - g2d.fill( shape ); - g2d.setColor( Color.BLACK ); - g2d.draw( shape ); - } - - public void setColor( final Color color ) - { - this.color = color; - } - - @Override - public int getIconWidth() - { - return size + 2 * pad; - } - - @Override - public int getIconHeight() - { - return size + 2 * pad; - } -} diff --git a/src/main/java/fiji/plugin/trackmate/gui/displaysettings/Colormap.java b/src/main/java/fiji/plugin/trackmate/gui/displaysettings/Colormap.java deleted file mode 100644 index 7fd52abd9..000000000 --- a/src/main/java/fiji/plugin/trackmate/gui/displaysettings/Colormap.java +++ /dev/null @@ -1,313 +0,0 @@ -/*- - * #%L - * TrackMate: your buddy for everyday tracking. - * %% - * Copyright (C) 2010 - 2024 TrackMate developers. - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * . - * #L% - */ -package fiji.plugin.trackmate.gui.displaysettings; - -import java.awt.Color; -import java.io.Serializable; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.Set; -import java.util.TreeMap; - -import org.jfree.chart.renderer.PaintScale; - -/** - * This class implements a {@link PaintScale} that generate colors interpolated - * within a list of given color, using a linear scale. - * - * @author Jean-Yves Tinevez <jeanyves.tinevez@gmail.com> - Sept 2010 - */ -public class Colormap implements PaintScale, Serializable -{ - - private static final long serialVersionUID = 2977884191627862512L; - - private static final Color DEFAULT_COLOR = Color.BLACK; - - private final double lowerBound; - - private final double upperBound; - - private final TreeMap< Double, Color > colors = new TreeMap<>(); - - private final Color defaultColor; - - /* - * INNER CLASSES - */ - - - - /** - * An {@link Colormap} that maps a typical "Jet" colormap going - * from blue to red to the range [0, 1]. - */ - public static final Colormap Jet; - static - { - Jet = new Colormap( "Jet", 0., 1. ); - Jet.add( 0.00, new Color( 0.0f, 0.0f, 1.0f ) ); - Jet.add( 0.16, new Color( 0.0f, 0.5f, 1.0f ) ); - Jet.add( 0.33, new Color( 0.0f, 1.0f, 1.0f ) ); - Jet.add( 0.50, new Color( 0.5f, 1.0f, 0.5f ) ); - Jet.add( 0.66, new Color( 1.0f, 1.0f, 0.0f ) ); - Jet.add( 0.83, new Color( 1.0f, 0.5f, 0.0f ) ); - Jet.add( 1.00, new Color( 1.0f, 0.0f, 0.0f ) ); - } - - /** - * An {@link Colormap} that replicates the matplotlib "Viridis" - * colormap. - */ - public static final Colormap Viridis; - static - { - Viridis = new Colormap( "Viridis", 0., 1. ); - Viridis.add( 0.00, new Color( 68, 1, 84 ) ); - Viridis.add( 0.05, new Color( 71, 18, 101 ) ); - Viridis.add( 0.10, new Color( 72, 35, 116 ) ); - Viridis.add( 0.15, new Color( 69, 52, 127 ) ); - Viridis.add( 0.20, new Color( 64, 67, 135 ) ); - Viridis.add( 0.25, new Color( 58, 82, 139 ) ); - Viridis.add( 0.30, new Color( 52, 94, 141 ) ); - Viridis.add( 0.35, new Color( 46, 107, 142 ) ); - Viridis.add( 0.40, new Color( 41, 120, 142 ) ); - Viridis.add( 0.45, new Color( 36, 132, 141 ) ); - Viridis.add( 0.50, new Color( 32, 144, 140 ) ); - Viridis.add( 0.55, new Color( 30, 155, 137 ) ); - Viridis.add( 0.60, new Color( 34, 167, 132 ) ); - Viridis.add( 0.65, new Color( 47, 179, 123 ) ); - Viridis.add( 0.70, new Color( 68, 190, 112 ) ); - Viridis.add( 0.75, new Color( 94, 201, 97 ) ); - Viridis.add( 0.80, new Color( 121, 209, 81 ) ); - Viridis.add( 0.85, new Color( 154, 216, 60 ) ); - Viridis.add( 0.90, new Color( 189, 222, 38 ) ); - Viridis.add( 0.95, new Color( 223, 227, 24 ) ); - Viridis.add( 1.00, new Color( 253, 231, 36 ) ); - } - - /** - * The TURBO color-map, from Google LLC, Anton Mikhailov. - * https://gist.github.com/mikhailov-work/ee72ba4191942acecc03fe6da94fc73f - */ - public static final Colormap Turbo; - - private final String name; - static - { - final double[][] triplets = new double[][] { - { 0.18995, 0.07176, 0.23217 }, { 0.19483, 0.08339, 0.26149 }, { 0.19956, 0.09498, 0.29024 }, { 0.20415, 0.10652, 0.31844 }, { 0.20860, 0.11802, 0.34607 }, { 0.21291, 0.12947, 0.37314 }, { 0.21708, 0.14087, 0.39964 }, { 0.22111, 0.15223, 0.42558 }, { 0.22500, 0.16354, 0.45096 }, { 0.22875, 0.17481, 0.47578 }, { 0.23236, 0.18603, 0.50004 }, { 0.23582, 0.19720, 0.52373 }, { 0.23915, 0.20833, 0.54686 }, { 0.24234, 0.21941, 0.56942 }, { 0.24539, 0.23044, 0.59142 }, { 0.24830, 0.24143, 0.61286 }, { 0.25107, 0.25237, 0.63374 }, { 0.25369, 0.26327, 0.65406 }, { 0.25618, 0.27412, 0.67381 }, { 0.25853, 0.28492, 0.69300 }, { 0.26074, 0.29568, 0.71162 }, { 0.26280, 0.30639, 0.72968 }, { 0.26473, 0.31706, 0.74718 }, { 0.26652, 0.32768, 0.76412 }, - { 0.26816, 0.33825, 0.78050 }, { 0.26967, 0.34878, 0.79631 }, { 0.27103, 0.35926, 0.81156 }, { 0.27226, 0.36970, 0.82624 }, { 0.27334, 0.38008, 0.84037 }, { 0.27429, 0.39043, 0.85393 }, { 0.27509, 0.40072, 0.86692 }, { 0.27576, 0.41097, 0.87936 }, { 0.27628, 0.42118, 0.89123 }, { 0.27667, 0.43134, 0.90254 }, { 0.27691, 0.44145, 0.91328 }, { 0.27701, 0.45152, 0.92347 }, { 0.27698, 0.46153, 0.93309 }, { 0.27680, 0.47151, 0.94214 }, { 0.27648, 0.48144, 0.95064 }, { 0.27603, 0.49132, 0.95857 }, { 0.27543, 0.50115, 0.96594 }, { 0.27469, 0.51094, 0.97275 }, { 0.27381, 0.52069, 0.97899 }, { 0.27273, 0.53040, 0.98461 }, { 0.27106, 0.54015, 0.98930 }, { 0.26878, 0.54995, 0.99303 }, { 0.26592, 0.55979, 0.99583 }, { 0.26252, 0.56967, 0.99773 }, { 0.25862, 0.57958, 0.99876 }, - { 0.25425, 0.58950, 0.99896 }, { 0.24946, 0.59943, 0.99835 }, { 0.24427, 0.60937, 0.99697 }, { 0.23874, 0.61931, 0.99485 }, { 0.23288, 0.62923, 0.99202 }, { 0.22676, 0.63913, 0.98851 }, { 0.22039, 0.64901, 0.98436 }, { 0.21382, 0.65886, 0.97959 }, { 0.20708, 0.66866, 0.97423 }, { 0.20021, 0.67842, 0.96833 }, { 0.19326, 0.68812, 0.96190 }, { 0.18625, 0.69775, 0.95498 }, { 0.17923, 0.70732, 0.94761 }, { 0.17223, 0.71680, 0.93981 }, { 0.16529, 0.72620, 0.93161 }, { 0.15844, 0.73551, 0.92305 }, { 0.15173, 0.74472, 0.91416 }, { 0.14519, 0.75381, 0.90496 }, { 0.13886, 0.76279, 0.89550 }, { 0.13278, 0.77165, 0.88580 }, { 0.12698, 0.78037, 0.87590 }, { 0.12151, 0.78896, 0.86581 }, { 0.11639, 0.79740, 0.85559 }, { 0.11167, 0.80569, 0.84525 }, { 0.10738, 0.81381, 0.83484 }, - { 0.10357, 0.82177, 0.82437 }, { 0.10026, 0.82955, 0.81389 }, { 0.09750, 0.83714, 0.80342 }, { 0.09532, 0.84455, 0.79299 }, { 0.09377, 0.85175, 0.78264 }, { 0.09287, 0.85875, 0.77240 }, { 0.09267, 0.86554, 0.76230 }, { 0.09320, 0.87211, 0.75237 }, { 0.09451, 0.87844, 0.74265 }, { 0.09662, 0.88454, 0.73316 }, { 0.09958, 0.89040, 0.72393 }, { 0.10342, 0.89600, 0.71500 }, { 0.10815, 0.90142, 0.70599 }, { 0.11374, 0.90673, 0.69651 }, { 0.12014, 0.91193, 0.68660 }, { 0.12733, 0.91701, 0.67627 }, { 0.13526, 0.92197, 0.66556 }, { 0.14391, 0.92680, 0.65448 }, { 0.15323, 0.93151, 0.64308 }, { 0.16319, 0.93609, 0.63137 }, { 0.17377, 0.94053, 0.61938 }, { 0.18491, 0.94484, 0.60713 }, { 0.19659, 0.94901, 0.59466 }, { 0.20877, 0.95304, 0.58199 }, { 0.22142, 0.95692, 0.56914 }, - { 0.23449, 0.96065, 0.55614 }, { 0.24797, 0.96423, 0.54303 }, { 0.26180, 0.96765, 0.52981 }, { 0.27597, 0.97092, 0.51653 }, { 0.29042, 0.97403, 0.50321 }, { 0.30513, 0.97697, 0.48987 }, { 0.32006, 0.97974, 0.47654 }, { 0.33517, 0.98234, 0.46325 }, { 0.35043, 0.98477, 0.45002 }, { 0.36581, 0.98702, 0.43688 }, { 0.38127, 0.98909, 0.42386 }, { 0.39678, 0.99098, 0.41098 }, { 0.41229, 0.99268, 0.39826 }, { 0.42778, 0.99419, 0.38575 }, { 0.44321, 0.99551, 0.37345 }, { 0.45854, 0.99663, 0.36140 }, { 0.47375, 0.99755, 0.34963 }, { 0.48879, 0.99828, 0.33816 }, { 0.50362, 0.99879, 0.32701 }, { 0.51822, 0.99910, 0.31622 }, { 0.53255, 0.99919, 0.30581 }, { 0.54658, 0.99907, 0.29581 }, { 0.56026, 0.99873, 0.28623 }, { 0.57357, 0.99817, 0.27712 }, { 0.58646, 0.99739, 0.26849 }, - { 0.59891, 0.99638, 0.26038 }, { 0.61088, 0.99514, 0.25280 }, { 0.62233, 0.99366, 0.24579 }, { 0.63323, 0.99195, 0.23937 }, { 0.64362, 0.98999, 0.23356 }, { 0.65394, 0.98775, 0.22835 }, { 0.66428, 0.98524, 0.22370 }, { 0.67462, 0.98246, 0.21960 }, { 0.68494, 0.97941, 0.21602 }, { 0.69525, 0.97610, 0.21294 }, { 0.70553, 0.97255, 0.21032 }, { 0.71577, 0.96875, 0.20815 }, { 0.72596, 0.96470, 0.20640 }, { 0.73610, 0.96043, 0.20504 }, { 0.74617, 0.95593, 0.20406 }, { 0.75617, 0.95121, 0.20343 }, { 0.76608, 0.94627, 0.20311 }, { 0.77591, 0.94113, 0.20310 }, { 0.78563, 0.93579, 0.20336 }, { 0.79524, 0.93025, 0.20386 }, { 0.80473, 0.92452, 0.20459 }, { 0.81410, 0.91861, 0.20552 }, { 0.82333, 0.91253, 0.20663 }, { 0.83241, 0.90627, 0.20788 }, { 0.84133, 0.89986, 0.20926 }, - { 0.85010, 0.89328, 0.21074 }, { 0.85868, 0.88655, 0.21230 }, { 0.86709, 0.87968, 0.21391 }, { 0.87530, 0.87267, 0.21555 }, { 0.88331, 0.86553, 0.21719 }, { 0.89112, 0.85826, 0.21880 }, { 0.89870, 0.85087, 0.22038 }, { 0.90605, 0.84337, 0.22188 }, { 0.91317, 0.83576, 0.22328 }, { 0.92004, 0.82806, 0.22456 }, { 0.92666, 0.82025, 0.22570 }, { 0.93301, 0.81236, 0.22667 }, { 0.93909, 0.80439, 0.22744 }, { 0.94489, 0.79634, 0.22800 }, { 0.95039, 0.78823, 0.22831 }, { 0.95560, 0.78005, 0.22836 }, { 0.96049, 0.77181, 0.22811 }, { 0.96507, 0.76352, 0.22754 }, { 0.96931, 0.75519, 0.22663 }, { 0.97323, 0.74682, 0.22536 }, { 0.97679, 0.73842, 0.22369 }, { 0.98000, 0.73000, 0.22161 }, { 0.98289, 0.72140, 0.21918 }, { 0.98549, 0.71250, 0.21650 }, { 0.98781, 0.70330, 0.21358 }, - { 0.98986, 0.69382, 0.21043 }, { 0.99163, 0.68408, 0.20706 }, { 0.99314, 0.67408, 0.20348 }, { 0.99438, 0.66386, 0.19971 }, { 0.99535, 0.65341, 0.19577 }, { 0.99607, 0.64277, 0.19165 }, { 0.99654, 0.63193, 0.18738 }, { 0.99675, 0.62093, 0.18297 }, { 0.99672, 0.60977, 0.17842 }, { 0.99644, 0.59846, 0.17376 }, { 0.99593, 0.58703, 0.16899 }, { 0.99517, 0.57549, 0.16412 }, { 0.99419, 0.56386, 0.15918 }, { 0.99297, 0.55214, 0.15417 }, { 0.99153, 0.54036, 0.14910 }, { 0.98987, 0.52854, 0.14398 }, { 0.98799, 0.51667, 0.13883 }, { 0.98590, 0.50479, 0.13367 }, { 0.98360, 0.49291, 0.12849 }, { 0.98108, 0.48104, 0.12332 }, { 0.97837, 0.46920, 0.11817 }, { 0.97545, 0.45740, 0.11305 }, { 0.97234, 0.44565, 0.10797 }, { 0.96904, 0.43399, 0.10294 }, { 0.96555, 0.42241, 0.09798 }, - { 0.96187, 0.41093, 0.09310 }, { 0.95801, 0.39958, 0.08831 }, { 0.95398, 0.38836, 0.08362 }, { 0.94977, 0.37729, 0.07905 }, { 0.94538, 0.36638, 0.07461 }, { 0.94084, 0.35566, 0.07031 }, { 0.93612, 0.34513, 0.06616 }, { 0.93125, 0.33482, 0.06218 }, { 0.92623, 0.32473, 0.05837 }, { 0.92105, 0.31489, 0.05475 }, { 0.91572, 0.30530, 0.05134 }, { 0.91024, 0.29599, 0.04814 }, { 0.90463, 0.28696, 0.04516 }, { 0.89888, 0.27824, 0.04243 }, { 0.89298, 0.26981, 0.03993 }, { 0.88691, 0.26152, 0.03753 }, { 0.88066, 0.25334, 0.03521 }, { 0.87422, 0.24526, 0.03297 }, { 0.86760, 0.23730, 0.03082 }, { 0.86079, 0.22945, 0.02875 }, { 0.85380, 0.22170, 0.02677 }, { 0.84662, 0.21407, 0.02487 }, { 0.83926, 0.20654, 0.02305 }, { 0.83172, 0.19912, 0.02131 }, { 0.82399, 0.19182, 0.01966 }, - { 0.81608, 0.18462, 0.01809 }, { 0.80799, 0.17753, 0.01660 }, { 0.79971, 0.17055, 0.01520 }, { 0.79125, 0.16368, 0.01387 }, { 0.78260, 0.15693, 0.01264 }, { 0.77377, 0.15028, 0.01148 }, { 0.76476, 0.14374, 0.01041 }, { 0.75556, 0.13731, 0.00942 }, { 0.74617, 0.13098, 0.00851 }, { 0.73661, 0.12477, 0.00769 }, { 0.72686, 0.11867, 0.00695 }, { 0.71692, 0.11268, 0.00629 }, { 0.70680, 0.10680, 0.00571 }, { 0.69650, 0.10102, 0.00522 }, { 0.68602, 0.09536, 0.00481 }, { 0.67535, 0.08980, 0.00449 }, { 0.66449, 0.08436, 0.00424 }, { 0.65345, 0.07902, 0.00408 }, { 0.64223, 0.07380, 0.00401 }, { 0.63082, 0.06868, 0.00401 }, { 0.61923, 0.06367, 0.00410 }, { 0.60746, 0.05878, 0.00427 }, { 0.59550, 0.05399, 0.00453 }, { 0.58336, 0.04931, 0.00486 }, { 0.57103, 0.04474, 0.00529 }, - { 0.55852, 0.04028, 0.00579 }, { 0.54583, 0.03593, 0.00638 }, { 0.53295, 0.03169, 0.00705 }, { 0.51989, 0.02756, 0.00780 }, { 0.50664, 0.02354, 0.00863 }, { 0.49321, 0.01963, 0.00955 }, { 0.47960, 0.01583, 0.01055 } }; - Turbo = new Colormap( "Turbo", 0., 1. ); - final int nTriplets = triplets.length; - for ( int i = 0; i < nTriplets; i++ ) - { - final double alpha = ( i ) / ( nTriplets - 1. ); - final double[] triplet = triplets[ i ]; - Turbo.add( alpha, new Color( ( float ) triplet[ 0 ], ( float ) triplet[ 1 ], ( float ) triplet[ 2 ] ) ); - } - } - - private static final List< Colormap > LUTS; - static - { - final List< Colormap > tmpLUTS = new ArrayList<>(); - tmpLUTS.add( Jet ); - tmpLUTS.add( Turbo ); - tmpLUTS.add( Viridis ); - tmpLUTS.addAll( ColormapIO.getLUTs() ); - LUTS = Collections.unmodifiableList( tmpLUTS ); - } - - public static List< Colormap > getAvailableLUTs() - { - return LUTS; - } - - /* - * CONSTRUCTORS - */ - - /** - * Create a paint scale with given lower and upper bound, and a specified - * default color. - * - * @param name - * the name of the colormap. - * @param lowerBound - * the lower bound. - * @param upperBound - * the upper bound. - * @param defaultColor - * a default color. - */ - public Colormap( final String name, final double lowerBound, final double upperBound, final Color defaultColor ) - { - this.name = name; - this.lowerBound = lowerBound; - this.upperBound = upperBound; - this.defaultColor = defaultColor; - } - - /** - * Create a paint scale with a given lower and upper bound and a default - * black color. - * - * @param name - * the name of the colormap. - * @param lowerBound - * the lower bound. - * @param upperBound - * the upper bound. - */ - public Colormap( final String name, final double lowerBound, final double upperBound ) - { - this( name, lowerBound, upperBound, DEFAULT_COLOR ); - } - - /** - * Create a paint scale with a lower bound of 0, an upper bound of 1 and a - * default black color. - * - * @param name - * the colormap name. - */ - public Colormap( final String name ) - { - this( name, 0, 1 ); - } - - /* - * PUBLIC METHODS - */ - - public String getName() - { - return name; - } - - /** - * Add a color to the color list of this paint scale, at the position given - * by value. If value is greater than the upper - * bound or lower than the lower bound set at construction, this call will - * be ignored. - * - * @param value - * the value at which to add the color. - * @param color - * the color. - */ - public void add( final double value, final Color color ) - { - if ( value > upperBound ) - return; - if ( value < lowerBound ) - return; - colors.put( value, color ); - } - - @Override - public double getLowerBound() - { - return lowerBound; - } - - /** - * Return a color interpolated within the color list of this paint scale. - * The interpolation is a linear one between the two colors in the list - * whose associated values frame the one given. - */ - @Override - public Color getPaint( double value ) - { - if ( colors.isEmpty() ) - return defaultColor; - if ( colors.size() == 1 ) - return colors.get( colors.firstKey() ); - - if ( value > upperBound ) - value = upperBound; - if ( value < lowerBound ) - value = lowerBound; - final Set< Double > keys = colors.keySet(); - double bottom = colors.firstKey(); - double top = colors.lastKey(); - for ( final double key : keys ) - { - top = key; - if ( value < key ) - break; - - bottom = top; - } - - double alpha; - if ( top == bottom ) - alpha = 0; // we reached the end of the list - else - alpha = ( value - bottom ) / ( top - bottom ); - - final Color colorBottom = colors.get( bottom ); - final Color colorTop = colors.get( top ); - final int red = ( int ) ( ( 1 - alpha ) * colorBottom.getRed() + alpha * colorTop.getRed() ); - final int green = ( int ) ( ( 1 - alpha ) * colorBottom.getGreen() + alpha * colorTop.getGreen() ); - final int blue = ( int ) ( ( 1 - alpha ) * colorBottom.getBlue() + alpha * colorTop.getBlue() ); - return new Color( red, green, blue ); - } - - @Override - public double getUpperBound() - { - return upperBound; - } - - @Override - public Colormap clone() - { - final Colormap ips = new Colormap( name, lowerBound, upperBound ); - for ( final double key : colors.keySet() ) - ips.add( key, colors.get( key ) ); - return ips; - } - - - public static void main( final String[] args ) - { - final StringBuilder str = new StringBuilder(); - str.append( "{ " ); - getAvailableLUTs().forEach( ( cm ) -> str.append( '"' + cm.getName() + "\", " ) ); - str.deleteCharAt( str.length() - 1 ); - str.deleteCharAt( str.length() - 1 ); - str.append( " }" ); - System.out.println( str ); - } -} diff --git a/src/main/java/fiji/plugin/trackmate/gui/displaysettings/ColormapIO.java b/src/main/java/fiji/plugin/trackmate/gui/displaysettings/ColormapIO.java deleted file mode 100644 index 69864fc1b..000000000 --- a/src/main/java/fiji/plugin/trackmate/gui/displaysettings/ColormapIO.java +++ /dev/null @@ -1,169 +0,0 @@ -/*- - * #%L - * TrackMate: your buddy for everyday tracking. - * %% - * Copyright (C) 2010 - 2026 TrackMate developers. - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * . - * #L% - */ -package fiji.plugin.trackmate.gui.displaysettings; - -import java.awt.Color; -import java.io.IOException; -import java.net.URI; -import java.net.URISyntaxException; -import java.nio.file.DirectoryStream; -import java.nio.file.FileSystem; -import java.nio.file.FileSystems; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.Scanner; -import java.util.concurrent.atomic.AtomicInteger; - -import org.scijava.util.IntArray; - -/** - * Loat LUTS for {@link Colormap}. Code adapted from what we did in Mastodon. - * - * @author Jean-Yves Tinevez 2019 - */ -public class ColormapIO -{ - - private static final List< URI > LUT_FOLDERS = new ArrayList<>(); - static - { - try - { - final URI BUILTIN_LUT_FOLDER = ColormapIO.class.getResource( "luts/" ).toURI(); - LUT_FOLDERS.add( BUILTIN_LUT_FOLDER ); - } - catch ( final URISyntaxException e ) - { - e.printStackTrace(); - } - } - - static List< Colormap > getLUTs() - { - return loadLUTs(); - } - - private static List< Colormap > loadLUTs() - { - final List< Colormap > luts = new ArrayList<>(); - for ( final URI lutFolder : LUT_FOLDERS ) - { - try - { - luts.addAll( loadLUTs( lutFolder ) ); - } - catch ( final IOException e ) - { - e.printStackTrace(); - } - } - return luts; - } - - private static List< Colormap > loadLUTs( final URI folder ) throws IOException - { - if ( folder.getScheme().equals( "jar" ) ) - { - // Try to read from within the jar file. - final String[] array = folder.toString().split( "!" ); - try (FileSystem fileSystem = FileSystems.newFileSystem( URI.create( array[ 0 ] ), Collections.emptyMap() )) - { - final Path folderPath = fileSystem.getPath( array[ 1 ] ); - return loadLUTs( folderPath ); - } - } - else - { - // Read from a standard folder. - final Path folderPath = Paths.get( folder ); - return loadLUTs( folderPath ); - } - } - - private static List< Colormap > loadLUTs( final Path folderPath ) throws IOException - { - final List< Colormap > luts = new ArrayList<>(); - if ( Files.exists( folderPath ) ) - { - final String glob = "*.lut"; - try (final DirectoryStream< Path > folderStream = Files.newDirectoryStream( folderPath, glob )) - { - for ( final Path path : folderStream ) - { - - final Colormap lut = importLUT( path ); - if ( null == lut ) - System.err.println( "Could not read LUT file: " + path + ". Skipping." ); - - luts.add( lut ); - } - } - } - return luts; - } - - private static final Colormap importLUT( final Path path ) throws IOException - { - final String fileName = path.getFileName().toString(); - final String lutName = fileName.substring( 0, fileName.indexOf( '.' ) ); - - try (final Scanner scanner = new Scanner( path )) - { - - final List< Color > colors = new ArrayList<>(); - final IntArray intAlphas = new IntArray(); - final AtomicInteger nLines = new AtomicInteger( 0 ); - - final Colormap ips = new Colormap( lutName, 0., 1. ); - while ( scanner.hasNext() ) - { - if ( !scanner.hasNextInt() ) - { - scanner.next(); - continue; - } - intAlphas.addValue( scanner.nextInt() ); - final Color color = new Color( scanner.nextInt(), scanner.nextInt(), scanner.nextInt() ); - colors.add( color ); - nLines.incrementAndGet(); - } - - if ( nLines.get() < 2 ) - return null; - - final double[] alphas = new double[ intAlphas.size() ]; - for ( int i = 0; i < alphas.length; i++ ) - { - final double alpha = ( double ) intAlphas.get( i ) / ( nLines.get() - 1 ); - final Color color = colors.get( i ); - ips.add( alpha, color ); - } - - return ips; - } - } - -} diff --git a/src/main/java/fiji/plugin/trackmate/gui/displaysettings/DisplaySettings.java b/src/main/java/fiji/plugin/trackmate/gui/displaysettings/DisplaySettings.java index e52477b87..e616b583c 100644 --- a/src/main/java/fiji/plugin/trackmate/gui/displaysettings/DisplaySettings.java +++ b/src/main/java/fiji/plugin/trackmate/gui/displaysettings/DisplaySettings.java @@ -28,6 +28,7 @@ import java.util.Objects; import org.scijava.listeners.Listeners; +import org.scijava.ui.config.visitors.gui.elements.colormap.Colormap; import bdv.ui.settings.style.Style; import fiji.plugin.trackmate.features.track.TrackIndexAnalyzer; diff --git a/src/main/java/fiji/plugin/trackmate/gui/displaysettings/DisplaySettingsIO.java b/src/main/java/fiji/plugin/trackmate/gui/displaysettings/DisplaySettingsIO.java index 9c8d5052f..a2cbf1b37 100644 --- a/src/main/java/fiji/plugin/trackmate/gui/displaysettings/DisplaySettingsIO.java +++ b/src/main/java/fiji/plugin/trackmate/gui/displaysettings/DisplaySettingsIO.java @@ -33,6 +33,7 @@ import java.util.stream.Collectors; import org.jdom2.Element; +import org.scijava.ui.config.visitors.gui.elements.colormap.Colormap; import com.google.gson.Gson; import com.google.gson.GsonBuilder; diff --git a/src/main/java/fiji/plugin/trackmate/gui/displaysettings/DisplaySettingsPanel.java b/src/main/java/fiji/plugin/trackmate/gui/displaysettings/DisplaySettingsPanel.java index d01522753..7c96ee44f 100644 --- a/src/main/java/fiji/plugin/trackmate/gui/displaysettings/DisplaySettingsPanel.java +++ b/src/main/java/fiji/plugin/trackmate/gui/displaysettings/DisplaySettingsPanel.java @@ -21,25 +21,25 @@ */ package fiji.plugin.trackmate.gui.displaysettings; -import static fiji.plugin.trackmate.gui.displaysettings.StyleElements.booleanElement; -import static fiji.plugin.trackmate.gui.displaysettings.StyleElements.boundedDoubleElement; -import static fiji.plugin.trackmate.gui.displaysettings.StyleElements.colorElement; -import static fiji.plugin.trackmate.gui.displaysettings.StyleElements.colormapElement; -import static fiji.plugin.trackmate.gui.displaysettings.StyleElements.doubleElement; -import static fiji.plugin.trackmate.gui.displaysettings.StyleElements.enumElement; -import static fiji.plugin.trackmate.gui.displaysettings.StyleElements.featureElement; -import static fiji.plugin.trackmate.gui.displaysettings.StyleElements.fontElement; -import static fiji.plugin.trackmate.gui.displaysettings.StyleElements.intElement; -import static fiji.plugin.trackmate.gui.displaysettings.StyleElements.label; -import static fiji.plugin.trackmate.gui.displaysettings.StyleElements.linkedCheckBox; -import static fiji.plugin.trackmate.gui.displaysettings.StyleElements.linkedColorButton; -import static fiji.plugin.trackmate.gui.displaysettings.StyleElements.linkedColormapChooser; -import static fiji.plugin.trackmate.gui.displaysettings.StyleElements.linkedComboBoxEnumSelector; -import static fiji.plugin.trackmate.gui.displaysettings.StyleElements.linkedFeatureSelector; -import static fiji.plugin.trackmate.gui.displaysettings.StyleElements.linkedFontButton; -import static fiji.plugin.trackmate.gui.displaysettings.StyleElements.linkedFormattedTextField; -import static fiji.plugin.trackmate.gui.displaysettings.StyleElements.linkedSliderPanel; -import static fiji.plugin.trackmate.gui.displaysettings.StyleElements.separator; +import static fiji.plugin.trackmate.gui.displaysettings.TrackMateStyleElements.featureElement; +import static fiji.plugin.trackmate.gui.displaysettings.TrackMateStyleElements.linkedFeatureSelector; +import static org.scijava.ui.config.visitors.gui.elements.StyleElements.booleanElement; +import static org.scijava.ui.config.visitors.gui.elements.StyleElements.boundedDoubleElement; +import static org.scijava.ui.config.visitors.gui.elements.StyleElements.colorElement; +import static org.scijava.ui.config.visitors.gui.elements.StyleElements.colormapElement; +import static org.scijava.ui.config.visitors.gui.elements.StyleElements.doubleElement; +import static org.scijava.ui.config.visitors.gui.elements.StyleElements.enumElement; +import static org.scijava.ui.config.visitors.gui.elements.StyleElements.fontElement; +import static org.scijava.ui.config.visitors.gui.elements.StyleElements.intElement; +import static org.scijava.ui.config.visitors.gui.elements.StyleElements.label; +import static org.scijava.ui.config.visitors.gui.elements.StyleElements.linkedCheckBox; +import static org.scijava.ui.config.visitors.gui.elements.StyleElements.linkedColorButton; +import static org.scijava.ui.config.visitors.gui.elements.StyleElements.linkedColormapChooser; +import static org.scijava.ui.config.visitors.gui.elements.StyleElements.linkedComboBoxEnumSelector; +import static org.scijava.ui.config.visitors.gui.elements.StyleElements.linkedFontButton; +import static org.scijava.ui.config.visitors.gui.elements.StyleElements.linkedFormattedTextField; +import static org.scijava.ui.config.visitors.gui.elements.StyleElements.linkedSliderPanel; +import static org.scijava.ui.config.visitors.gui.elements.StyleElements.separator; import java.awt.BorderLayout; import java.awt.Dimension; @@ -61,6 +61,17 @@ import javax.swing.SwingUtilities; import org.scijava.listeners.Listeners; +import org.scijava.ui.config.visitors.gui.elements.StyleElement; +import org.scijava.ui.config.visitors.gui.elements.StyleElements.BooleanElement; +import org.scijava.ui.config.visitors.gui.elements.StyleElements.BoundedDoubleElement; +import org.scijava.ui.config.visitors.gui.elements.StyleElements.ColorElement; +import org.scijava.ui.config.visitors.gui.elements.StyleElements.ColormapElement; +import org.scijava.ui.config.visitors.gui.elements.StyleElements.DoubleElement; +import org.scijava.ui.config.visitors.gui.elements.StyleElements.EnumElement; +import org.scijava.ui.config.visitors.gui.elements.StyleElements.FontElement; +import org.scijava.ui.config.visitors.gui.elements.StyleElements.IntElement; +import org.scijava.ui.config.visitors.gui.elements.StyleElements.LabelElement; +import org.scijava.ui.config.visitors.gui.elements.StyleElements.Separator; import com.itextpdf.text.Font; @@ -69,19 +80,8 @@ import bdv.ui.settings.style.StyleProfile; import fiji.plugin.trackmate.gui.displaysettings.DisplaySettings.TrackDisplayMode; import fiji.plugin.trackmate.gui.displaysettings.DisplaySettings.UpdateListener; -import fiji.plugin.trackmate.gui.displaysettings.StyleElements.BooleanElement; -import fiji.plugin.trackmate.gui.displaysettings.StyleElements.BoundedDoubleElement; -import fiji.plugin.trackmate.gui.displaysettings.StyleElements.ColorElement; -import fiji.plugin.trackmate.gui.displaysettings.StyleElements.ColormapElement; -import fiji.plugin.trackmate.gui.displaysettings.StyleElements.DoubleElement; -import fiji.plugin.trackmate.gui.displaysettings.StyleElements.EnumElement; -import fiji.plugin.trackmate.gui.displaysettings.StyleElements.FeatureElement; -import fiji.plugin.trackmate.gui.displaysettings.StyleElements.FontElement; -import fiji.plugin.trackmate.gui.displaysettings.StyleElements.IntElement; -import fiji.plugin.trackmate.gui.displaysettings.StyleElements.LabelElement; -import fiji.plugin.trackmate.gui.displaysettings.StyleElements.Separator; -import fiji.plugin.trackmate.gui.displaysettings.StyleElements.StyleElement; -import fiji.plugin.trackmate.gui.displaysettings.StyleElements.StyleElementVisitor; +import fiji.plugin.trackmate.gui.displaysettings.TrackMateStyleElements.FeatureElement; +import fiji.plugin.trackmate.gui.displaysettings.TrackMateStyleElements.TrackMateStyleElementVisitor; public class DisplaySettingsPanel extends JPanel implements ProfileEditPanel< StyleProfile< DisplaySettings > >, UpdateListener { @@ -217,7 +217,7 @@ private List< StyleElement > styleElements( final DisplaySettings ds ) separator() ); } - private static class GuiVisitor implements StyleElementVisitor + private static class GuiVisitor implements TrackMateStyleElementVisitor { private final JPanel panel; @@ -277,7 +277,7 @@ public void visit( final BoundedDoubleElement element ) public void visit( final DoubleElement element ) { addToLayout( - linkedFormattedTextField( element ), + linkedFormattedTextField( element, null, null ), new JLabel( element.getLabel() ) ); } diff --git a/src/main/java/fiji/plugin/trackmate/gui/displaysettings/SliderPanel.java b/src/main/java/fiji/plugin/trackmate/gui/displaysettings/SliderPanel.java deleted file mode 100644 index a9da3e5f6..000000000 --- a/src/main/java/fiji/plugin/trackmate/gui/displaysettings/SliderPanel.java +++ /dev/null @@ -1,205 +0,0 @@ -/* - * #%L - * TrackMate: your buddy for everyday tracking. - * %% - * Copyright (C) 2010 - 2024 TrackMate developers. - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * . - * #L% - */ -package fiji.plugin.trackmate.gui.displaysettings; - -import java.awt.BorderLayout; -import java.awt.Component; -import java.awt.Dimension; -import java.awt.Font; -import java.awt.event.MouseWheelEvent; -import java.awt.event.MouseWheelListener; - -import javax.swing.JLabel; -import javax.swing.JPanel; -import javax.swing.JSlider; -import javax.swing.JSpinner; -import javax.swing.SpinnerNumberModel; -import javax.swing.SwingConstants; -import javax.swing.event.ChangeEvent; -import javax.swing.event.ChangeListener; - -import fiji.plugin.trackmate.gui.GuiUtils; - -/** - * A {@link JSlider} with a {@link JSpinner} next to it, both modifying the same - * {@link BoundedValue value}. - */ -public class SliderPanel extends JPanel implements BoundedValue.UpdateListener -{ - private static final long serialVersionUID = 6444334522127424416L; - - public static final Dimension PANEL_SIZE = new Dimension( 150, 20 ); - - private final JSlider slider; - - private final JSpinner spinner; - - private final BoundedValue model; - - /** - * Create a {@link SliderPanel} to modify a given {@link BoundedValue - * value}. - * - * @param name - * label to show next to the slider. - * @param model - * the value that is modified. - * @param spinnerStepSize - * the step size in the spinner to create. - */ - public SliderPanel( final String name, final BoundedValue model, final int spinnerStepSize ) - { - super(); - setLayout( new BorderLayout( 10, 10 ) ); - setPreferredSize( PANEL_SIZE ); - - final int imin = model.getRangeMin(); - final int imax = model.getRangeMax(); - int ivalue = model.getCurrentValue(); - ivalue = Math.max( imin, ivalue ); - ivalue = Math.min( imax, ivalue ); - slider = new JSlider( SwingConstants.HORIZONTAL, imin, imax, ivalue ); - - final double min = model.getRangeMin(); - final double max = model.getRangeMax(); - double value = model.getCurrentValue(); - value = Math.min( max, value ); - value = Math.max( min, value ); - spinner = new JSpinner(); - spinner.setModel( new SpinnerNumberModel( value, min, max, spinnerStepSize ) ); - - slider.addChangeListener( new ChangeListener() - { - @Override - public void stateChanged( final ChangeEvent e ) - { - final int value = slider.getValue(); - model.setCurrentValue( value ); - } - } ); - - final MouseWheelListener mwl = new MouseWheelListener() - { - - @Override - public void mouseWheelMoved( final MouseWheelEvent e ) - { - final int notches = e.getWheelRotation(); - int value = slider.getValue(); - value -= notches * spinnerStepSize; - if ( value < slider.getMinimum() ) - value = slider.getMinimum(); - else if ( value > slider.getMaximum() ) - value = slider.getMaximum(); - slider.setValue( value ); - } - }; - slider.addMouseWheelListener( mwl ); - spinner.addMouseWheelListener( mwl ); - - spinner.addChangeListener( new ChangeListener() - { - @Override - public void stateChanged( final ChangeEvent e ) - { - final int value = ( ( Integer ) spinner.getValue() ).intValue(); - model.setCurrentValue( value ); - } - } ); - - if ( name != null ) - { - final JLabel label = new JLabel( name, SwingConstants.CENTER ); - label.setAlignmentX( Component.CENTER_ALIGNMENT ); - add( label, BorderLayout.WEST ); - } - - add( slider, BorderLayout.CENTER ); - add( spinner, BorderLayout.EAST ); - - final MouseWheelListener mouseWheelListener = new MouseWheelListener() - { - - @Override - public void mouseWheelMoved( final MouseWheelEvent e ) - { - if ( !slider.isEnabled() ) - return; - final int notches = e.getWheelRotation(); - final int step = notches < 0 ? 1 : -1; - slider.setValue( slider.getValue() + step ); - } - }; - slider.addMouseWheelListener( mouseWheelListener ); - spinner.addMouseWheelListener( mouseWheelListener ); - - this.model = model; - model.setUpdateListener( this ); - } - - public void setNumColummns( final int cols ) - { - ( ( JSpinner.NumberEditor ) spinner.getEditor() ).getTextField().setColumns( cols ); - } - - @Override - public void setToolTipText( final String text ) - { - super.setToolTipText( text ); - if ( spinner != null ) - spinner.setToolTipText( text ); - if ( slider != null ) - slider.setToolTipText( text ); - } - - @Override - public void setEnabled( final boolean enabled ) - { - spinner.setEnabled( enabled ); - slider.setEnabled( enabled ); - super.setEnabled( enabled ); - } - - @Override - public void setFont( final Font font ) - { - GuiUtils.setFont( this, font ); - } - - @Override - public void update() - { - final int value = model.getCurrentValue(); - final int min = model.getRangeMin(); - final int max = model.getRangeMax(); - if ( slider.getMaximum() != max || slider.getMinimum() != min ) - { - slider.setMinimum( min ); - slider.setMaximum( max ); - final SpinnerNumberModel spinnerModel = ( SpinnerNumberModel ) spinner.getModel(); - spinnerModel.setMinimum( min ); - spinnerModel.setMaximum( max ); - } - slider.setValue( value ); - spinner.setValue( value ); - } -} diff --git a/src/main/java/fiji/plugin/trackmate/gui/displaysettings/SliderPanelDouble.java b/src/main/java/fiji/plugin/trackmate/gui/displaysettings/SliderPanelDouble.java deleted file mode 100644 index f707d9d96..000000000 --- a/src/main/java/fiji/plugin/trackmate/gui/displaysettings/SliderPanelDouble.java +++ /dev/null @@ -1,287 +0,0 @@ -/* - * #%L - * TrackMate: your buddy for everyday tracking. - * %% - * Copyright (C) 2010 - 2024 TrackMate developers. - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * . - * #L% - */ -package fiji.plugin.trackmate.gui.displaysettings; - -import java.awt.BorderLayout; -import java.awt.Component; -import java.awt.Font; -import java.awt.event.ComponentAdapter; -import java.awt.event.ComponentEvent; -import java.awt.event.MouseWheelEvent; -import java.awt.event.MouseWheelListener; - -import javax.swing.JLabel; -import javax.swing.JPanel; -import javax.swing.JSlider; -import javax.swing.JSpinner; -import javax.swing.JSpinner.NumberEditor; -import javax.swing.SpinnerNumberModel; -import javax.swing.SwingConstants; -import javax.swing.event.ChangeEvent; -import javax.swing.event.ChangeListener; - -import fiji.plugin.trackmate.gui.GuiUtils; - -/** - * A {@link JSlider} with a {@link JSpinner} next to it, both modifying the same - * {@link BoundedValue value}. - */ -public class SliderPanelDouble extends JPanel implements BoundedValueDouble.UpdateListener -{ - private static final long serialVersionUID = 6444334522127424416L; - - private static final int sliderLength = 50; - - private final JSlider slider; - - private final JSpinner spinner; - - private final BoundedValueDouble model; - - private double dmin; - - private double dmax; - - private boolean userDefinedNumberFormat = false; - - private RangeListener rangeListener; - - public interface RangeListener - { - void rangeChanged(); - } - - /** - * Create a {@link SliderPanelDouble} to modify a given - * {@link BoundedValueDouble value}. - * - * @param name - * label to show next to the slider. - * @param model - * the value that is modified. - * @param spinnerStepSize - * the steps size for the spinner created. - */ - public SliderPanelDouble( - final String name, - final BoundedValueDouble model, - final double spinnerStepSize ) - { - super(); - setLayout( new BorderLayout( 10, 10 ) ); - setPreferredSize( SliderPanel.PANEL_SIZE ); - - final int imin = 0; - final int imax = sliderLength; - int ivalue = toSlider( model.getCurrentValue() ); - ivalue = Math.max( imin, ivalue ); - ivalue = Math.min( imax, ivalue ); - slider = new JSlider( SwingConstants.HORIZONTAL, imin, imax, ivalue ); - - spinner = new JSpinner(); - dmin = model.getRangeMin(); - dmax = model.getRangeMax(); - - double value = model.getCurrentValue(); - value = Math.min( dmax, value ); - value = Math.max( dmin, value ); - spinner.setModel( new SpinnerNumberModel( value, dmin, dmax, spinnerStepSize ) ); - - slider.addChangeListener( new ChangeListener() - { - @Override - public void stateChanged( final ChangeEvent e ) - { - final int value = slider.getValue(); - model.setCurrentValue( fromSlider( value ) ); - } - } ); - - slider.addComponentListener( new ComponentAdapter() - { - @Override - public void componentResized( final ComponentEvent e ) - { - updateNumberFormat(); - } - } ); - - final MouseWheelListener mwl = new MouseWheelListener() - { - - @Override - public void mouseWheelMoved( final MouseWheelEvent e ) - { - final int notches = e.getWheelRotation(); - double value = ( ( Number ) spinner.getValue() ).doubleValue(); - value -= notches * spinnerStepSize; - if ( value < dmin ) - value = dmin; - else if ( value > dmax ) - value = dmax; - spinner.setValue( value ); - } - }; - slider.addMouseWheelListener( mwl ); - spinner.addMouseWheelListener( mwl ); - - spinner.addChangeListener( new ChangeListener() - { - @Override - public void stateChanged( final ChangeEvent e ) - { - final double value = ( ( Double ) spinner.getValue() ).doubleValue(); - model.setCurrentValue( value ); - } - } ); - - if ( name != null ) - { - final JLabel label = new JLabel( name, SwingConstants.CENTER ); - label.setAlignmentX( Component.CENTER_ALIGNMENT ); - add( label, BorderLayout.WEST ); - } - - add( slider, BorderLayout.CENTER ); - add( spinner, BorderLayout.EAST ); - - final MouseWheelListener mouseWheelListener = new MouseWheelListener() - { - - @Override - public void mouseWheelMoved( final MouseWheelEvent e ) - { - if ( !slider.isEnabled() ) - return; - final int notches = e.getWheelRotation(); - final int step = notches < 0 ? 1 : -1; - slider.setValue( slider.getValue() + step ); - } - }; - slider.addMouseWheelListener( mouseWheelListener ); - spinner.addMouseWheelListener( mouseWheelListener ); - - this.model = model; - model.setUpdateListener( this ); - } - - public void setDecimalFormat( final String pattern ) - { - if ( pattern == null ) - { - userDefinedNumberFormat = false; - updateNumberFormat(); - } - else - { - userDefinedNumberFormat = true; - ( ( JSpinner.NumberEditor ) spinner.getEditor() ).getFormat().applyPattern( pattern ); - } - } - - public void setNumColummns( final int cols ) - { - ( ( JSpinner.NumberEditor ) spinner.getEditor() ).getTextField().setColumns( cols ); - } - - @Override - public void setToolTipText( final String text ) - { - super.setToolTipText( text ); - if ( spinner != null ) - spinner.setToolTipText( text ); - if ( slider != null ) - slider.setToolTipText( text ); - } - - @Override - public void setEnabled( final boolean enabled ) - { - spinner.setEnabled( enabled ); - slider.setEnabled( enabled ); - super.setEnabled( enabled ); - } - - @Override - public void setFont( final Font font ) - { - GuiUtils.setFont( this, font ); - } - - @Override - public void update() - { - final double value = model.getCurrentValue(); - final double min = model.getRangeMin(); - final double max = model.getRangeMax(); - - final boolean rangeChanged = ( dmax != max || dmin != min ); - if ( rangeChanged ) - { - dmin = min; - dmax = max; - final SpinnerNumberModel spinnerModel = ( SpinnerNumberModel ) spinner.getModel(); - spinnerModel.setMinimum( min ); - spinnerModel.setMaximum( max ); - } - slider.setValue( toSlider( value ) ); - spinner.setValue( value ); - - if ( rangeChanged ) - updateNumberFormat(); - - if ( rangeChanged && rangeListener != null ) - rangeListener.rangeChanged(); - - } - - public void setRangeListener( final RangeListener listener ) - { - this.rangeListener = listener; - } - - private void updateNumberFormat() - { - if ( userDefinedNumberFormat ) - return; - - final int sw = slider.getWidth(); - if ( sw > 0 ) - { - final double range = dmax - dmin; - final int digits = ( int ) Math.ceil( Math.log10( sw / range ) ); - final NumberEditor numberEditor = ( ( JSpinner.NumberEditor ) spinner.getEditor() ); - numberEditor.getFormat().setMaximumFractionDigits( digits ); - numberEditor.stateChanged( new ChangeEvent( spinner ) ); - } - } - - private int toSlider( final double value ) - { - return ( int ) Math.round( ( value - dmin ) * sliderLength / ( dmax - dmin ) ); - } - - private double fromSlider( final int value ) - { - return ( value * ( dmax - dmin ) / sliderLength ) + dmin; - } -} diff --git a/src/main/java/fiji/plugin/trackmate/gui/displaysettings/StyleElements.java b/src/main/java/fiji/plugin/trackmate/gui/displaysettings/StyleElements.java deleted file mode 100644 index d4a1b7a6e..000000000 --- a/src/main/java/fiji/plugin/trackmate/gui/displaysettings/StyleElements.java +++ /dev/null @@ -1,1208 +0,0 @@ -/*- - * #%L - * TrackMate: your buddy for everyday tracking. - * %% - * Copyright (C) 2010 - 2026 TrackMate developers. - * %% - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program. If not, see - * . - * #L% - */ -package fiji.plugin.trackmate.gui.displaysettings; - -import java.awt.Color; -import java.awt.Component; -import java.awt.Dialog.ModalityType; -import java.awt.Dimension; -import java.awt.Font; -import java.awt.Graphics; -import java.awt.Insets; -import java.awt.Window; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.awt.event.FocusAdapter; -import java.text.DecimalFormat; -import java.text.ParseException; -import java.util.ArrayList; -import java.util.List; -import java.util.Vector; -import java.util.function.BiConsumer; -import java.util.function.BooleanSupplier; -import java.util.function.Consumer; -import java.util.function.DoubleSupplier; -import java.util.function.IntSupplier; -import java.util.function.Supplier; - -import javax.swing.Box; -import javax.swing.BoxLayout; -import javax.swing.DefaultComboBoxModel; -import javax.swing.DefaultListCellRenderer; -import javax.swing.JButton; -import javax.swing.JCheckBox; -import javax.swing.JColorChooser; -import javax.swing.JComboBox; -import javax.swing.JComponent; -import javax.swing.JDialog; -import javax.swing.JFormattedTextField; -import javax.swing.JLabel; -import javax.swing.JList; -import javax.swing.JPanel; -import javax.swing.JSpinner; -import javax.swing.JSpinner.DefaultEditor; -import javax.swing.JTextField; -import javax.swing.ListCellRenderer; -import javax.swing.SpinnerListModel; -import javax.swing.SpinnerNumberModel; -import javax.swing.SwingConstants; -import javax.swing.WindowConstants; -import javax.swing.border.EmptyBorder; - -import org.drjekyll.fontchooser.FontDialog; - -import fiji.plugin.trackmate.Settings; -import fiji.plugin.trackmate.gui.Fonts; -import fiji.plugin.trackmate.gui.GuiUtils; -import fiji.plugin.trackmate.gui.Icons; -import fiji.plugin.trackmate.gui.components.CategoryJComboBox; -import fiji.plugin.trackmate.gui.components.FeatureDisplaySelector; -import fiji.plugin.trackmate.gui.displaysettings.DisplaySettings.TrackMateObject; - -public class StyleElements -{ - private static final DecimalFormat format = new DecimalFormat( "#.###" ); - - public static Separator separator() - { - return new Separator(); - } - - public static LabelElement label( final String label ) - { - return new LabelElement( label ); - } - - public static StringElement stringElement( final String label, final Supplier< String > get, final Consumer< String > set ) - { - return new StringElement( label ) - { - - @Override - public String get() - { - return get.get(); - } - - @Override - public void set( final String s ) - { - set.accept( s ); - } - }; - } - - public static BooleanElement booleanElement( final String label, final BooleanSupplier get, final Consumer< Boolean > set ) - { - return new BooleanElement( label ) - { - @Override - public boolean get() - { - return get.getAsBoolean(); - } - - @Override - public void set( final boolean b ) - { - set.accept( b ); - } - }; - } - - public static ColorElement colorElement( final String label, final Supplier< Color > get, final Consumer< Color > set ) - { - return new ColorElement( label ) - { - @Override - public Color getColor() - { - return get.get(); - } - - @Override - public void setColor( final Color c ) - { - set.accept( c ); - } - }; - } - - public static ColormapElement colormapElement( final String label, final Supplier< Colormap > get, final Consumer< Colormap > set ) - { - return new ColormapElement( label ) - { - - @Override - public Colormap get() - { - return get.get(); - } - - @Override - public void set( final Colormap v ) - { - set.accept( v ); - } - }; - } - - public static BoundedDoubleElement boundedDoubleElement( final String label, final double rangeMin, final double rangeMax, final DoubleSupplier get, final Consumer< Double > set ) - { - return new BoundedDoubleElement( label, rangeMin, rangeMax ) - { - @Override - public double get() - { - return get.getAsDouble(); - } - - @Override - public void set( final double v ) - { - set.accept( v ); - } - }; - } - - public static DoubleElement doubleElement( final String label, final DoubleSupplier get, final Consumer< Double > set ) - { - return new DoubleElement( label ) - { - @Override - public double get() - { - return get.getAsDouble(); - } - - @Override - public void set( final double v ) - { - set.accept( v ); - } - }; - } - - public static IntElement intElement( final String label, final int rangeMin, final int rangeMax, final IntSupplier get, final Consumer< Integer > set ) - { - return new IntElement( label, rangeMin, rangeMax ) - { - @Override - public int get() - { - return get.getAsInt(); - } - - @Override - public void set( final int v ) - { - set.accept( v ); - } - }; - } - - public static < E > EnumElement< E > enumElement( final String label, final E[] values, final Supplier< E > get, final Consumer< E > set ) - { - return new EnumElement< E >( label, values ) - { - - @Override - public E getValue() - { - return get.get(); - } - - @Override - public void setValue( final E e ) - { - set.accept( e ); - } - }; - } - - public static < E > ListElement< E > listElement( final String label, final List< E > values, final Supplier< E > get, final Consumer< E > set ) - { - return new ListElement< E >( label, values ) - { - - @Override - public E getValue() - { - return get.get(); - } - - @Override - public void setValue( final E e ) - { - set.accept( e ); - } - }; - } - - public static FeatureElement featureElement( final String label, final Supplier< TrackMateObject > typeGet, final Supplier< String > featureGet, final BiConsumer< TrackMateObject, String > set ) - { - return new FeatureElement( label ) - { - - @Override - public void setValue( final TrackMateObject type, final String feature ) - { - set.accept( type, feature ); - } - - @Override - public TrackMateObject getType() - { - return typeGet.get(); - } - - @Override - public String getFeature() - { - return featureGet.get(); - } - }; - } - - public static FontElement fontElement( final String label, final Supplier< Font > get, final Consumer< Font > set ) - { - return new FontElement( label ) - { - - @Override - public void set( final Font font ) - { - set.accept( font ); - } - - @Override - public Font get() - { - return get.get(); - } - }; - } - - /* - * Visitor interface. - */ - - public interface StyleElementVisitor - { - public default void visit( final Separator element ) - { - throw new UnsupportedOperationException(); - } - - public default void visit( final LabelElement label ) - { - throw new UnsupportedOperationException(); - } - - public default void visit( final ColorElement colorElement ) - { - throw new UnsupportedOperationException(); - } - - public default void visit( final BooleanElement booleanElement ) - { - throw new UnsupportedOperationException(); - } - - public default void visit( final BoundedDoubleElement doubleElement ) - { - throw new UnsupportedOperationException(); - } - - public default void visit( final DoubleElement doubleElement ) - { - throw new UnsupportedOperationException(); - } - - public default void visit( final IntElement intElement ) - { - throw new UnsupportedOperationException(); - } - - public default < E > void visit( final EnumElement< E > enumElement ) - { - throw new UnsupportedOperationException(); - } - - public default void visit( final FeatureElement featureElement ) - { - throw new UnsupportedOperationException(); - } - - public default void visit( final ColormapElement element ) - { - throw new UnsupportedOperationException(); - } - - public default void visit( final FontElement fontElement ) - { - throw new UnsupportedOperationException(); - } - - public default void visit( final StringElement stringElement ) - { - throw new UnsupportedOperationException(); - } - - public default < E > void visit( final ListElement< E > listElement ) - { - throw new UnsupportedOperationException(); - } - } - - /* - * - * =============================================================== - * - */ - - public interface StyleElement - { - public default void update() - {} - - public void accept( StyleElementVisitor visitor ); - } - - public static class Separator implements StyleElement - { - @Override - public void accept( final StyleElementVisitor visitor ) - { - visitor.visit( this ); - } - } - - public static class LabelElement implements StyleElement - { - private final String label; - - public LabelElement( final String label ) - { - this.label = label; - } - - public String getLabel() - { - return label; - } - - @Override - public void accept( final StyleElementVisitor visitor ) - { - visitor.visit( this ); - } - } - - public static abstract class StringElement implements StyleElement - { - - private final ArrayList< Consumer< String > > onSet = new ArrayList<>(); - - private final String label; - - private String value; - - public StringElement( final String label ) - { - this.label = label; - this.value = ""; - } - - public String getLabel() - { - return label; - } - - @Override - public void accept( final StyleElementVisitor visitor ) - { - visitor.visit( this ); - } - - public abstract String get(); - - public abstract void set( String s ); - - public void onSet( final Consumer< String > set ) - { - onSet.add( set ); - } - - @Override - public void update() - { - if ( get() != value ) - value = get(); - onSet.forEach( c -> c.accept( get() ) ); - } - } - - public static abstract class EnumElement< E > implements StyleElement - { - private final ArrayList< Consumer< E > > onSet = new ArrayList<>(); - - private final String label; - - private final E[] values; - - public EnumElement( final String label, final E[] values ) - { - this.label = label; - this.values = values; - } - - public String getLabel() - { - return label; - } - - @Override - public void accept( final StyleElementVisitor visitor ) - { - visitor.visit( this ); - } - - public void onSet( final Consumer< E > set ) - { - onSet.add( set ); - } - - @Override - public void update() - { - onSet.forEach( c -> c.accept( getValue() ) ); - } - - public abstract E getValue(); - - public abstract void setValue( E e ); - - public E[] getValues() - { - return values; - } - } - - public static abstract class ListElement< E > implements StyleElement - { - private final ArrayList< Consumer< E > > onSet = new ArrayList<>(); - - private final String label; - - private final List< E > values; - - public ListElement( final String label, final List< E > values ) - { - this.label = label; - this.values = values; - } - - public String getLabel() - { - return label; - } - - @Override - public void accept( final StyleElementVisitor visitor ) - { - visitor.visit( this ); - } - - public void onSet( final Consumer< E > set ) - { - onSet.add( set ); - } - - @Override - public void update() - { - onSet.forEach( c -> c.accept( getValue() ) ); - } - - public abstract E getValue(); - - public abstract void setValue( E e ); - - public List< E > getValues() - { - return values; - } - } - - public static abstract class FeatureElement implements StyleElement - { - private final ArrayList< BiConsumer< TrackMateObject, String > > onSet = new ArrayList<>(); - - private final String label; - - public FeatureElement( final String label ) - { - this.label = label; - } - - public String getLabel() - { - return label; - } - - @Override - public void accept( final StyleElementVisitor visitor ) - { - visitor.visit( this ); - } - - public void onSet( final BiConsumer< TrackMateObject, String > set ) - { - onSet.add( set ); - } - - @Override - public void update() - { - onSet.forEach( c -> c.accept( getType(), getFeature() ) ); - } - - public abstract TrackMateObject getType(); - - public abstract String getFeature(); - - public abstract void setValue( TrackMateObject type, String feature ); - } - - public static abstract class ColorElement implements StyleElement - { - private final ArrayList< Consumer< Color > > onSet = new ArrayList<>(); - - private final String label; - - public ColorElement( final String label ) - { - this.label = label; - } - - public String getLabel() - { - return label; - } - - @Override - public void accept( final StyleElementVisitor visitor ) - { - visitor.visit( this ); - } - - public void onSet( final Consumer< Color > set ) - { - onSet.add( set ); - } - - @Override - public void update() - { - onSet.forEach( c -> c.accept( getColor() ) ); - } - - public abstract Color getColor(); - - public abstract void setColor( Color c ); - } - - public static abstract class BooleanElement implements StyleElement - { - private final String label; - - private final ArrayList< Consumer< Boolean > > onSet = new ArrayList<>(); - - public BooleanElement( final String label ) - { - this.label = label; - } - - public String getLabel() - { - return label; - } - - @Override - public void accept( final StyleElementVisitor visitor ) - { - visitor.visit( this ); - } - - public void onSet( final Consumer< Boolean > set ) - { - onSet.add( set ); - } - - @Override - public void update() - { - onSet.forEach( c -> c.accept( get() ) ); - } - - public abstract boolean get(); - - public abstract void set( boolean b ); - } - - public static abstract class BoundedDoubleElement implements StyleElement - { - private final BoundedValueDouble value; - - private final String label; - - public BoundedDoubleElement( final String label, final double rangeMin, final double rangeMax ) - { - final double currentValue = Math.max( rangeMin, Math.min( rangeMax, get() ) ); - value = new BoundedValueDouble( rangeMin, rangeMax, currentValue ) - { - @Override - public void setCurrentValue( final double value ) - { - super.setCurrentValue( value ); - if ( get() != getCurrentValue() ) - set( getCurrentValue() ); - } - }; - this.label = label; - } - - public BoundedValueDouble getValue() - { - return value; - } - - public String getLabel() - { - return label; - } - - @Override - public void accept( final StyleElementVisitor visitor ) - { - visitor.visit( this ); - } - - public abstract double get(); - - public abstract void set( double v ); - - @Override - public void update() - { - if ( get() != value.getCurrentValue() ) - value.setCurrentValue( get() ); - } - } - - public static abstract class DoubleElement implements StyleElement - { - - private final ArrayList< Consumer< Double > > onSet = new ArrayList<>(); - - private double value; - - private final String label; - - public DoubleElement( final String label ) - { - value = 0.; - this.label = label; - } - - public double getValue() - { - return value; - } - - public String getLabel() - { - return label; - } - - @Override - public void accept( final StyleElementVisitor visitor ) - { - visitor.visit( this ); - } - - public abstract double get(); - - public abstract void set( double v ); - - public void onSet( final Consumer< Double > set ) - { - onSet.add( set ); - } - - @Override - public void update() - { - if ( get() != value ) - value = get(); - onSet.forEach( c -> c.accept( get() ) ); - } - } - - public static abstract class IntElement implements StyleElement - { - private final BoundedValue value; - - private final String label; - - public IntElement( final String label, final int rangeMin, final int rangeMax ) - { - final int currentValue = Math.max( rangeMin, Math.min( rangeMax, get() ) ); - value = new BoundedValue( rangeMin, rangeMax, currentValue ) - { - @Override - public void setCurrentValue( final int value ) - { - super.setCurrentValue( value ); - if ( get() != getCurrentValue() ) - set( getCurrentValue() ); - } - }; - this.label = label; - } - - public BoundedValue getValue() - { - return value; - } - - public String getLabel() - { - return label; - } - - @Override - public void accept( final StyleElementVisitor visitor ) - { - visitor.visit( this ); - } - - public abstract int get(); - - public abstract void set( int v ); - - @Override - public void update() - { - if ( get() != value.getCurrentValue() ) - value.setCurrentValue( get() ); - } - } - - public static abstract class ColormapElement implements StyleElement - { - private final ArrayList< Consumer< Colormap > > onSet = new ArrayList<>(); - - private final String label; - - public ColormapElement( final String label ) - { - this.label = label; - } - - public String getLabel() - { - return label; - } - - @Override - public void accept( final StyleElementVisitor visitor ) - { - visitor.visit( this ); - } - - public abstract Colormap get(); - - public abstract void set( Colormap v ); - - public void onSet( final Consumer< Colormap > set ) - { - onSet.add( set ); - } - - @Override - public void update() - { - onSet.forEach( c -> c.accept( get() ) ); - } - } - - public static abstract class FontElement implements StyleElement - { - - private final ArrayList< Consumer< Font > > onSet = new ArrayList<>(); - - private Font value; - - private final String label; - - public FontElement( final String label ) - { - this.label = label; - } - - public Font getValue() - { - return value; - } - - public String getLabel() - { - return label; - } - - @Override - public void accept( final StyleElementVisitor visitor ) - { - visitor.visit( this ); - } - - public abstract Font get(); - - public abstract void set( Font font ); - - public void onSet( final Consumer< Font > set ) - { - onSet.add( set ); - } - - @Override - public void update() - { - if ( get() != value ) - value = get(); - } - } - - /* - * - * =============================================================== - * - */ - - public static JLabel linkedLabel( final LabelElement element ) - { - return new JLabel( element.getLabel() ); - } - - public static CategoryJComboBox< TrackMateObject, String > linkedFeatureSelector( final FeatureElement element ) - { - final Settings settings = new Settings(); - settings.addAllAnalyzers(); - final CategoryJComboBox< TrackMateObject, String > selector = FeatureDisplaySelector.createComboBoxSelector( null, settings ); - selector.setSelectedItem( element.getFeature() ); - selector.addActionListener( e -> element.setValue( selector.getSelectedCategory(), selector.getSelectedItem() ) ); - element.onSet( ( type, feature ) -> { - if ( !feature.equals( selector.getSelectedItem() ) ) - selector.setSelectedItem( feature ); - } ); - return selector; - } - - public static JComboBox< Colormap > linkedColormapChooser( final ColormapElement element ) - { - final JComboBox< Colormap > cb = new JComboBox< Colormap >( - Colormap.getAvailableLUTs().toArray( new Colormap[] {} ) ); - cb.setRenderer( new ColormapRenderer() ); - cb.setSelectedItem( element.get() ); - cb.addActionListener( e -> element.set( ( Colormap ) cb.getSelectedItem() ) ); - element.onSet( cm -> { - if ( cm != cb.getSelectedItem() ) - cb.setSelectedItem( cm ); - } ); - return cb; - } - - private static final class ColormapRenderer extends JPanel implements ListCellRenderer< Colormap > - { - - private static final long serialVersionUID = 1L; - - private Colormap lut = Colormap.Jet; - - private final DefaultListCellRenderer lbl; - - public ColormapRenderer() - { - setPreferredSize( new Dimension( 150, 20 ) ); - final BoxLayout itemlayout = new BoxLayout( this, BoxLayout.LINE_AXIS ); - this.lbl = new DefaultListCellRenderer(); - setLayout( itemlayout ); - add( lbl ); - add( Box.createHorizontalGlue() ); - add( new JComponent() - { - - private static final long serialVersionUID = 1L; - - @Override - public void paint( final Graphics g ) - { - - final int width = getWidth(); - final int height = getHeight(); - for ( int i = 0; i < width; i++ ) - { - final double beta = ( double ) i / ( width - 1 ); - g.setColor( lut.getPaint( beta ) ); - g.drawLine( i, 0, i, height ); - } - g.setColor( this.getParent().getBackground() ); - g.drawRect( 0, 0, width, height ); - } - - @Override - public Dimension getMaximumSize() - { - return new Dimension( 100, 20 ); - } - - @Override - public Dimension getPreferredSize() - { - return getMaximumSize(); - } - } ); - } - - @Override - public Component getListCellRendererComponent( - final JList< ? extends Colormap > list, - final Colormap value, - final int index, - final boolean isSelected, - final boolean cellHasFocus ) - { - this.lut = value; - lbl.getListCellRendererComponent( list, value.getName(), index, isSelected, cellHasFocus ); - setBackground( lbl.getBackground() ); - return this; - } - } - - public static JCheckBox linkedCheckBox( final BooleanElement element, final String label ) - { - final JCheckBox checkbox = new JCheckBox( label, element.get() ); - checkbox.addActionListener( ( e ) -> element.set( checkbox.isSelected() ) ); - element.onSet( b -> { - if ( b != checkbox.isSelected() ) - checkbox.setSelected( b ); - } ); - return checkbox; - } - - public static JButton linkedColorButton( final ColorElement element, final JColorChooser colorChooser ) - { - final ColorIcon icon = new ColorIcon( element.getColor(), 16, 0 ); - final JButton button = new JButton( icon ); - button.setOpaque( false ); - button.setContentAreaFilled( false ); - button.setBorderPainted( false ); - button.setFont( new JButton().getFont() ); - button.setMargin( new Insets( 0, 0, 0, 0 ) ); - button.setBorder( new EmptyBorder( 2, 5, 2, 2 ) ); - button.setHorizontalAlignment( SwingConstants.LEFT ); - button.addActionListener( e -> { - colorChooser.setColor( element.getColor() ); - final JDialog d = JColorChooser.createDialog( button, "Choose a color", true, colorChooser, new ActionListener() - { - @Override - public void actionPerformed( final ActionEvent arg0 ) - { - final Color c = colorChooser.getColor(); - if ( c != null ) - { - icon.setColor( c ); - button.repaint(); - element.setColor( c ); - } - } - }, null ); - d.setVisible( true ); - } ); - element.onSet( icon::setColor ); - return button; - } - - public static SliderPanel linkedSliderPanel( final IntElement element, final int tfCols ) - { - final SliderPanel slider = new SliderPanel( null, element.getValue(), 1 ); - slider.setNumColummns( tfCols ); - slider.setBorder( new EmptyBorder( 0, 0, 0, 0 ) ); - return slider; - } - - public static JSpinner linkedSpinner( final IntElement element ) - { - final BoundedValue value = element.getValue(); - final SpinnerNumberModel model = new SpinnerNumberModel( element.get(), value.getRangeMin(), value.getRangeMax(), 1 ); - final JSpinner spinner = new JSpinner( model ); - spinner.setMaximumSize( new Dimension( 80, spinner.getMaximumSize().height ) ); - model.addChangeListener( e -> element.set( ( ( Number ) model.getValue() ).intValue() ) ); - return spinner; - } - - public static SliderPanelDouble linkedSliderPanel( final BoundedDoubleElement element, final int tfCols ) - { - return linkedSliderPanel( element, tfCols, 1. ); - } - - public static SliderPanelDouble linkedSliderPanel( final BoundedDoubleElement element, final int tfCols, final double stepSize ) - { - final SliderPanelDouble slider = new SliderPanelDouble( null, element.getValue(), stepSize ); - slider.setDecimalFormat( "0.####" ); - slider.setNumColummns( tfCols ); - slider.setBorder( new EmptyBorder( 0, 0, 0, 0 ) ); - return slider; - } - - @SuppressWarnings( "unchecked" ) - public static < E > JSpinner linkedSpinnerEnumSelector( final EnumElement< E > element ) - { - final SpinnerListModel model = new SpinnerListModel( element.getValues() ); - final JSpinner spinner = new JSpinner( model ); - spinner.setFont( Fonts.SMALL_FONT ); - ( ( DefaultEditor ) spinner.getEditor() ).getTextField().setEditable( false ); - model.setValue( element.getValue() ); - model.addChangeListener( e -> element.setValue( ( E ) model.getValue() ) ); - element.onSet( e -> { - if ( e != model.getValue() ) - model.setValue( e ); - } ); - return spinner; - } - - @SuppressWarnings( "unchecked" ) - public static < E > JComboBox< E > linkedComboBoxEnumSelector( final EnumElement< E > element ) - { - final DefaultComboBoxModel< E > model = new DefaultComboBoxModel<>( element.values ); - final JComboBox< E > cb = new JComboBox<>( model ); - cb.setFont( Fonts.SMALL_FONT ); - cb.addActionListener( e -> element.setValue( ( E ) model.getSelectedItem() ) ); - element.onSet( e -> { - if ( e != model.getSelectedItem() ) - model.setSelectedItem( e ); - } ); - cb.setSelectedItem( element.getValue() ); - return cb; - } - - @SuppressWarnings( "unchecked" ) - public static < E > JComboBox< E > linkedComboBoxSelector( final ListElement< E > element ) - { - final DefaultComboBoxModel< E > model = new DefaultComboBoxModel<>( new Vector<>( element.values ) ); - final JComboBox< E > cb = new JComboBox<>( model ); - cb.setFont( Fonts.SMALL_FONT ); - cb.addActionListener( e -> element.setValue( ( E ) model.getSelectedItem() ) ); - element.onSet( e -> { - if ( e != model.getSelectedItem() ) - model.setSelectedItem( e ); - } ); - return cb; - } - - public static JFormattedTextField linkedFormattedTextField( final DoubleElement element ) - { - final JFormattedTextField ftf = new JFormattedTextField( format ); - ftf.setHorizontalAlignment( JFormattedTextField.RIGHT ); - ftf.setValue( Double.valueOf( element.get() ) ); - - ftf.addActionListener( e -> element.set( ( ( Number ) ftf.getValue() ).doubleValue() ) ); - ftf.addFocusListener( new FocusAdapter() - { - @Override - public void focusLost( final java.awt.event.FocusEvent e ) - { - try - { - ftf.commitEdit(); - element.set( ( ( Number ) ftf.getValue() ).doubleValue() ); - } - catch ( final ParseException e1 ) - {} - } - } ); - GuiUtils.selectAllOnFocus( ftf ); - element.onSet( d -> { - if ( d != ( ( Number ) ftf.getValue() ).doubleValue() ) - ftf.setValue( Double.valueOf( element.value ) ); - } ); - - return ftf; - } - - public static JTextField linkedTextField( final StringElement element ) - { - final JTextField tf = new JTextField( element.get() ); - tf.setHorizontalAlignment( JFormattedTextField.LEFT ); - - tf.addActionListener( e -> element.set( tf.getText() ) ); - GuiUtils.selectAllOnFocus( tf ); - tf.addFocusListener( new FocusAdapter() - { - @Override - public void focusLost( final java.awt.event.FocusEvent e ) - { - element.set( tf.getText() ); - } - } ); - element.onSet( d -> { - if ( d != ( tf.getText() ) ) - tf.setText( element.value ); - } ); - - return tf; - } - - public static JButton linkedFontButton( final FontElement element, final Window parent ) - { - final JButton btn = new JButton( "Select font" ); - btn.setFont( element.get() ); - btn.addPropertyChangeListener( "font", e -> element.set( btn.getFont() ) ); - element.onSet( font -> { - if ( !font.equals( btn.getFont() ) ) - btn.setFont( font ); - } ); - btn.addActionListener( e -> { - final FontDialog dialog = new FontDialog( parent, "Select font for TrackMate display", ModalityType.APPLICATION_MODAL ); - dialog.setDefaultCloseOperation( WindowConstants.DISPOSE_ON_CLOSE ); - dialog.setSelectedFont( btn.getFont() ); - GuiUtils.positionWindow( dialog, parent ); - dialog.setIconImage( Icons.TRACKMATE_ICON.getImage() ); - dialog.setVisible( true ); - if ( !dialog.isCancelSelected() ) - btn.setFont( dialog.getSelectedFont() ); - } ); - return btn; - } -} diff --git a/src/main/java/fiji/plugin/trackmate/gui/displaysettings/TrackMateStyleElements.java b/src/main/java/fiji/plugin/trackmate/gui/displaysettings/TrackMateStyleElements.java new file mode 100644 index 000000000..97c3265e4 --- /dev/null +++ b/src/main/java/fiji/plugin/trackmate/gui/displaysettings/TrackMateStyleElements.java @@ -0,0 +1,118 @@ +package fiji.plugin.trackmate.gui.displaysettings; + +import java.util.ArrayList; +import java.util.function.BiConsumer; +import java.util.function.Supplier; + +import org.scijava.ui.config.visitors.gui.elements.StyleElement; +import org.scijava.ui.config.visitors.gui.elements.StyleElementVisitor; + +import fiji.plugin.trackmate.Settings; +import fiji.plugin.trackmate.gui.components.CategoryJComboBox; +import fiji.plugin.trackmate.gui.components.FeatureDisplaySelector; +import fiji.plugin.trackmate.gui.displaysettings.DisplaySettings.TrackMateObject; + +public class TrackMateStyleElements +{ + + public static CategoryJComboBox< TrackMateObject, String > linkedFeatureSelector( final FeatureElement element ) + { + final Settings settings = new Settings(); + settings.addAllAnalyzers(); + final CategoryJComboBox< TrackMateObject, String > selector = FeatureDisplaySelector.createComboBoxSelector( null, settings ); + selector.setSelectedItem( element.getFeature() ); + selector.addActionListener( e -> element.setValue( selector.getSelectedCategory(), selector.getSelectedItem() ) ); + element.onSet( ( type, feature ) -> { + if ( !feature.equals( selector.getSelectedItem() ) ) + selector.setSelectedItem( feature ); + } ); + return selector; + } + + public static FeatureElement featureElement( final String label, final Supplier< TrackMateObject > typeGet, final Supplier< String > featureGet, final BiConsumer< TrackMateObject, String > set ) + { + return new FeatureElement( label ) + { + + @Override + public void setValue( final TrackMateObject type, final String feature ) + { + set.accept( type, feature ); + } + + @Override + public TrackMateObject getType() + { + return typeGet.get(); + } + + @Override + public String getFeature() + { + return featureGet.get(); + } + + @Override + public void accept( final StyleElementVisitor visitor ) + { + if ( visitor instanceof final TrackMateStyleElementVisitor extendedVisitor ) + extendedVisitor.visit( this ); + else + throw new UnsupportedOperationException( "Visitor " + visitor.getClass().getName() + " does not support " + this.getClass().getName() ); + } + }; + } + + public static interface TrackMateStyleElement extends StyleElement + { + void accept( TrackMateStyleElementVisitor visitor ); + } + + public static interface TrackMateStyleElementVisitor extends StyleElementVisitor + { + public default void visit( final FeatureElement element ) + { + throw new UnsupportedOperationException(); + } + } + + public static abstract class FeatureElement implements TrackMateStyleElement + { + private final ArrayList< BiConsumer< TrackMateObject, String > > onSet = new ArrayList<>(); + + private final String label; + + public FeatureElement( final String label ) + { + this.label = label; + } + + public String getLabel() + { + return label; + } + + @Override + public void accept( final TrackMateStyleElementVisitor visitor ) + { + visitor.visit( this ); + } + + public void onSet( final BiConsumer< TrackMateObject, String > set ) + { + onSet.add( set ); + } + + @Override + public void update() + { + onSet.forEach( c -> c.accept( getType(), getFeature() ) ); + } + + public abstract TrackMateObject getType(); + + public abstract String getFeature(); + + public abstract void setValue( TrackMateObject type, String feature ); + } +} diff --git a/src/main/java/fiji/plugin/trackmate/util/config/GenericConfigPanelPreview.java b/src/main/java/fiji/plugin/trackmate/util/config/GenericConfigPanelPreview.java index 22975e21f..b6e269f16 100644 --- a/src/main/java/fiji/plugin/trackmate/util/config/GenericConfigPanelPreview.java +++ b/src/main/java/fiji/plugin/trackmate/util/config/GenericConfigPanelPreview.java @@ -5,10 +5,10 @@ import java.util.function.Supplier; import org.scijava.ui.config.Configurator; +import org.scijava.ui.config.visitors.gui.elements.StyleElement; import org.scijava.ui.config.visitors.gui.elements.StyleElements.BoundedDoubleElement; import org.scijava.ui.config.visitors.gui.elements.StyleElements.DoubleElement; import org.scijava.ui.config.visitors.gui.elements.StyleElements.IntElement; -import org.scijava.ui.config.visitors.gui.elements.StyleElements.StyleElement; import fiji.plugin.trackmate.Model; import fiji.plugin.trackmate.Settings; diff --git a/src/main/java/fiji/plugin/trackmate/visualization/PerEdgeFeatureColorGenerator.java b/src/main/java/fiji/plugin/trackmate/visualization/PerEdgeFeatureColorGenerator.java index 7eebd01ac..555b4fa78 100644 --- a/src/main/java/fiji/plugin/trackmate/visualization/PerEdgeFeatureColorGenerator.java +++ b/src/main/java/fiji/plugin/trackmate/visualization/PerEdgeFeatureColorGenerator.java @@ -24,9 +24,9 @@ import java.awt.Color; import org.jgrapht.graph.DefaultWeightedEdge; +import org.scijava.ui.config.visitors.gui.elements.colormap.Colormap; import fiji.plugin.trackmate.Model; -import fiji.plugin.trackmate.gui.displaysettings.Colormap; public class PerEdgeFeatureColorGenerator implements TrackColorGenerator { diff --git a/src/main/java/fiji/plugin/trackmate/visualization/PerSpotFeatureColorGenerator.java b/src/main/java/fiji/plugin/trackmate/visualization/PerSpotFeatureColorGenerator.java index e19f219f0..e8c4f8539 100644 --- a/src/main/java/fiji/plugin/trackmate/visualization/PerSpotFeatureColorGenerator.java +++ b/src/main/java/fiji/plugin/trackmate/visualization/PerSpotFeatureColorGenerator.java @@ -24,10 +24,10 @@ import java.awt.Color; import org.jgrapht.graph.DefaultWeightedEdge; +import org.scijava.ui.config.visitors.gui.elements.colormap.Colormap; import fiji.plugin.trackmate.Model; import fiji.plugin.trackmate.Spot; -import fiji.plugin.trackmate.gui.displaysettings.Colormap; public class PerSpotFeatureColorGenerator implements TrackColorGenerator { diff --git a/src/main/java/fiji/plugin/trackmate/visualization/PerTrackFeatureColorGenerator.java b/src/main/java/fiji/plugin/trackmate/visualization/PerTrackFeatureColorGenerator.java index 224158a22..cdf05954c 100644 --- a/src/main/java/fiji/plugin/trackmate/visualization/PerTrackFeatureColorGenerator.java +++ b/src/main/java/fiji/plugin/trackmate/visualization/PerTrackFeatureColorGenerator.java @@ -30,12 +30,12 @@ import java.util.Set; import org.jgrapht.graph.DefaultWeightedEdge; +import org.scijava.ui.config.visitors.gui.elements.colormap.Colormap; import fiji.plugin.trackmate.FeatureModel; import fiji.plugin.trackmate.Model; import fiji.plugin.trackmate.TrackModel; import fiji.plugin.trackmate.features.track.TrackIndexAnalyzer; -import fiji.plugin.trackmate.gui.displaysettings.Colormap; /** * A {@link TrackColorGenerator} that generate colors based on the whole track diff --git a/src/main/java/fiji/plugin/trackmate/visualization/SpotColorGenerator.java b/src/main/java/fiji/plugin/trackmate/visualization/SpotColorGenerator.java index 41d32ce75..56216010d 100644 --- a/src/main/java/fiji/plugin/trackmate/visualization/SpotColorGenerator.java +++ b/src/main/java/fiji/plugin/trackmate/visualization/SpotColorGenerator.java @@ -23,8 +23,9 @@ import java.awt.Color; +import org.scijava.ui.config.visitors.gui.elements.colormap.Colormap; + import fiji.plugin.trackmate.Spot; -import fiji.plugin.trackmate.gui.displaysettings.Colormap; public class SpotColorGenerator implements FeatureColorGenerator< Spot > { diff --git a/src/main/java/fiji/plugin/trackmate/visualization/SpotColorGeneratorPerEdgeFeature.java b/src/main/java/fiji/plugin/trackmate/visualization/SpotColorGeneratorPerEdgeFeature.java index da70b6101..f2e743e86 100644 --- a/src/main/java/fiji/plugin/trackmate/visualization/SpotColorGeneratorPerEdgeFeature.java +++ b/src/main/java/fiji/plugin/trackmate/visualization/SpotColorGeneratorPerEdgeFeature.java @@ -25,10 +25,10 @@ import java.util.Set; import org.jgrapht.graph.DefaultWeightedEdge; +import org.scijava.ui.config.visitors.gui.elements.colormap.Colormap; import fiji.plugin.trackmate.Model; import fiji.plugin.trackmate.Spot; -import fiji.plugin.trackmate.gui.displaysettings.Colormap; public class SpotColorGeneratorPerEdgeFeature implements FeatureColorGenerator< Spot > { diff --git a/src/main/java/fiji/plugin/trackmate/visualization/SpotColorGeneratorPerTrackFeature.java b/src/main/java/fiji/plugin/trackmate/visualization/SpotColorGeneratorPerTrackFeature.java index 03538ef8d..42e4ec85c 100644 --- a/src/main/java/fiji/plugin/trackmate/visualization/SpotColorGeneratorPerTrackFeature.java +++ b/src/main/java/fiji/plugin/trackmate/visualization/SpotColorGeneratorPerTrackFeature.java @@ -23,9 +23,10 @@ import java.awt.Color; +import org.scijava.ui.config.visitors.gui.elements.colormap.Colormap; + import fiji.plugin.trackmate.Model; import fiji.plugin.trackmate.Spot; -import fiji.plugin.trackmate.gui.displaysettings.Colormap; public class SpotColorGeneratorPerTrackFeature implements FeatureColorGenerator< Spot > { diff --git a/src/main/java/fiji/plugin/trackmate/visualization/WholeTrackFeatureColorGenerator.java b/src/main/java/fiji/plugin/trackmate/visualization/WholeTrackFeatureColorGenerator.java index 9a529eda3..f5087f9cb 100644 --- a/src/main/java/fiji/plugin/trackmate/visualization/WholeTrackFeatureColorGenerator.java +++ b/src/main/java/fiji/plugin/trackmate/visualization/WholeTrackFeatureColorGenerator.java @@ -23,8 +23,9 @@ import java.awt.Color; +import org.scijava.ui.config.visitors.gui.elements.colormap.Colormap; + import fiji.plugin.trackmate.Model; -import fiji.plugin.trackmate.gui.displaysettings.Colormap; public class WholeTrackFeatureColorGenerator implements FeatureColorGenerator< Integer > { diff --git a/src/main/java/fiji/plugin/trackmate/visualization/table/TablePanel.java b/src/main/java/fiji/plugin/trackmate/visualization/table/TablePanel.java index 83d0ba021..e0a793af2 100644 --- a/src/main/java/fiji/plugin/trackmate/visualization/table/TablePanel.java +++ b/src/main/java/fiji/plugin/trackmate/visualization/table/TablePanel.java @@ -68,10 +68,11 @@ import javax.swing.table.TableModel; import javax.swing.table.TableRowSorter; +import org.scijava.ui.config.visitors.gui.elements.ColorIcon; + import com.opencsv.CSVWriter; import fiji.plugin.trackmate.gui.GuiUtils; -import fiji.plugin.trackmate.gui.displaysettings.ColorIcon; import fiji.plugin.trackmate.visualization.FeatureColorGenerator; import gnu.trove.map.hash.TObjectIntHashMap; diff --git a/src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Algae.lut b/src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Algae.lut deleted file mode 100644 index 90f95a659..000000000 --- a/src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Algae.lut +++ /dev/null @@ -1,257 +0,0 @@ -Index Red Green Blue -0 17 36 20 -1 17 37 20 -2 18 37 21 -3 18 38 22 -4 18 39 22 -5 19 40 23 -6 19 41 24 -7 19 42 25 -8 20 43 25 -9 20 43 26 -10 20 44 27 -11 21 45 27 -12 21 46 28 -13 21 47 29 -14 21 48 29 -15 22 49 30 -16 22 49 31 -17 22 50 31 -18 22 51 32 -19 23 52 33 -20 23 53 33 -21 23 54 34 -22 23 55 35 -23 23 55 35 -24 23 56 36 -25 24 57 36 -26 24 58 37 -27 24 59 38 -28 24 60 38 -29 24 61 39 -30 24 61 40 -31 25 62 40 -32 25 63 41 -33 25 64 41 -34 25 65 42 -35 25 66 43 -36 25 67 43 -37 25 67 44 -38 25 68 44 -39 25 69 45 -40 25 70 46 -41 25 71 46 -42 25 72 47 -43 25 73 47 -44 25 73 48 -45 25 74 49 -46 25 75 49 -47 25 76 50 -48 25 77 50 -49 25 78 51 -50 25 79 51 -51 25 80 52 -52 25 80 52 -53 25 81 53 -54 25 82 54 -55 25 83 54 -56 25 84 55 -57 25 85 55 -58 25 86 56 -59 25 87 56 -60 24 87 57 -61 24 88 57 -62 24 89 58 -63 24 90 58 -64 24 91 59 -65 23 92 59 -66 23 93 60 -67 23 94 60 -68 23 94 61 -69 23 95 61 -70 22 96 62 -71 22 97 62 -72 22 98 63 -73 22 99 63 -74 21 100 63 -75 21 101 64 -76 21 102 64 -77 20 102 65 -78 20 103 65 -79 19 104 66 -80 19 105 66 -81 19 106 67 -82 18 107 67 -83 18 108 67 -84 18 109 68 -85 17 110 68 -86 17 110 69 -87 16 111 69 -88 16 112 69 -89 15 113 70 -90 15 114 70 -91 14 115 70 -92 14 116 71 -93 13 117 71 -94 13 118 72 -95 12 119 72 -96 12 119 72 -97 11 120 73 -98 11 121 73 -99 10 122 73 -100 10 123 74 -101 9 124 74 -102 9 125 74 -103 8 126 74 -104 8 127 75 -105 7 128 75 -106 7 129 75 -107 7 129 76 -108 7 130 76 -109 6 131 76 -110 6 132 76 -111 6 133 77 -112 6 134 77 -113 6 135 77 -114 7 136 77 -115 7 137 77 -116 7 138 78 -117 8 138 78 -118 8 139 78 -119 9 140 78 -120 9 141 78 -121 10 142 79 -122 11 143 79 -123 12 144 79 -124 13 145 79 -125 15 146 79 -126 16 146 79 -127 17 147 79 -128 19 148 80 -129 20 149 80 -130 21 150 80 -131 23 151 80 -132 25 152 80 -133 26 153 80 -134 28 153 80 -135 30 154 80 -136 31 155 80 -137 33 156 81 -138 35 157 81 -139 37 157 81 -140 39 158 81 -141 41 159 81 -142 43 160 81 -143 45 161 81 -144 47 161 82 -145 50 162 82 -146 52 163 82 -147 54 164 82 -148 56 164 83 -149 58 165 83 -150 61 166 84 -151 63 167 84 -152 65 167 84 -153 67 168 85 -154 69 169 86 -155 71 169 86 -156 74 170 87 -157 76 171 87 -158 78 171 88 -159 80 172 89 -160 82 173 90 -161 83 174 90 -162 85 174 91 -163 87 175 92 -164 89 176 93 -165 91 176 94 -166 93 177 95 -167 94 178 96 -168 96 178 96 -169 98 179 97 -170 100 180 98 -171 101 180 99 -172 103 181 100 -173 104 182 101 -174 106 183 102 -175 108 183 103 -176 109 184 104 -177 111 185 105 -178 112 185 107 -179 114 186 108 -180 115 187 109 -181 117 188 110 -182 118 188 111 -183 120 189 112 -184 121 190 113 -185 123 191 114 -186 124 191 115 -187 126 192 117 -188 127 193 118 -189 129 194 119 -190 130 194 120 -191 132 195 121 -192 133 196 122 -193 134 197 124 -194 136 197 125 -195 137 198 126 -196 139 199 127 -197 140 200 128 -198 141 200 130 -199 143 201 131 -200 144 202 132 -201 145 203 133 -202 147 203 135 -203 148 204 136 -204 149 205 137 -205 151 206 138 -206 152 207 140 -207 153 207 141 -208 155 208 142 -209 156 209 143 -210 157 210 145 -211 159 211 146 -212 160 211 147 -213 161 212 149 -214 163 213 150 -215 164 214 151 -216 165 215 153 -217 166 215 154 -218 168 216 155 -219 169 217 156 -220 170 218 158 -221 172 219 159 -222 173 219 160 -223 174 220 162 -224 175 221 163 -225 177 222 165 -226 178 223 166 -227 179 224 167 -228 180 225 169 -229 182 225 170 -230 183 226 171 -231 184 227 173 -232 186 228 174 -233 187 229 176 -234 188 230 177 -235 189 231 178 -236 191 231 180 -237 192 232 181 -238 193 233 183 -239 194 234 184 -240 196 235 185 -241 197 236 187 -242 198 237 188 -243 199 238 190 -244 201 239 191 -245 202 239 193 -246 203 240 194 -247 204 241 195 -248 206 242 197 -249 207 243 198 -250 208 244 200 -251 209 245 201 -252 211 246 203 -253 212 247 204 -254 213 248 206 -255 214 249 207 diff --git a/src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Amp.lut b/src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Amp.lut deleted file mode 100644 index 401695c0e..000000000 --- a/src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Amp.lut +++ /dev/null @@ -1,257 +0,0 @@ -Index Red Green Blue -0 60 9 17 -1 61 9 18 -2 62 9 19 -3 63 9 19 -4 65 10 20 -5 66 10 20 -6 67 10 21 -7 69 10 22 -8 70 11 22 -9 71 11 23 -10 72 11 24 -11 74 11 24 -12 75 12 25 -13 76 12 25 -14 77 12 26 -15 79 12 27 -16 80 12 27 -17 81 13 28 -18 83 13 28 -19 84 13 29 -20 85 13 29 -21 86 13 30 -22 88 13 30 -23 89 13 31 -24 90 14 32 -25 92 14 32 -26 93 14 32 -27 94 14 33 -28 96 14 33 -29 97 14 34 -30 98 14 34 -31 100 14 35 -32 101 14 35 -33 102 14 36 -34 104 14 36 -35 105 14 37 -36 106 14 37 -37 108 14 37 -38 109 14 38 -39 110 14 38 -40 112 14 38 -41 113 14 39 -42 114 14 39 -43 116 14 39 -44 117 14 39 -45 118 14 40 -46 120 14 40 -47 121 14 40 -48 122 14 40 -49 124 14 40 -50 125 13 41 -51 126 13 41 -52 128 13 41 -53 129 14 41 -54 130 14 41 -55 132 14 41 -56 133 14 41 -57 134 14 41 -58 135 14 41 -59 137 14 41 -60 138 14 41 -61 139 15 41 -62 141 15 40 -63 142 16 40 -64 143 16 40 -65 144 16 40 -66 145 17 40 -67 147 18 40 -68 148 18 40 -69 149 19 39 -70 150 19 39 -71 151 20 39 -72 152 21 39 -73 154 22 38 -74 155 23 38 -75 156 24 38 -76 157 24 38 -77 158 25 38 -78 159 26 37 -79 160 27 37 -80 161 28 37 -81 162 30 37 -82 163 31 37 -83 164 32 36 -84 165 33 36 -85 166 34 36 -86 166 35 36 -87 167 36 36 -88 168 37 36 -89 169 39 36 -90 170 40 36 -91 171 41 36 -92 172 42 36 -93 172 44 36 -94 173 45 36 -95 174 46 36 -96 175 47 36 -97 175 49 36 -98 176 50 36 -99 177 51 37 -100 177 53 37 -101 178 54 37 -102 179 55 38 -103 179 57 38 -104 180 58 38 -105 180 59 39 -106 181 61 40 -107 181 62 40 -108 182 63 41 -109 183 65 41 -110 183 66 42 -111 184 67 43 -112 184 69 44 -113 185 70 44 -114 185 71 45 -115 186 73 46 -116 186 74 47 -117 187 75 48 -118 187 76 49 -119 188 78 50 -120 188 79 51 -121 188 80 52 -122 189 81 53 -123 189 83 54 -124 190 84 55 -125 190 85 56 -126 191 86 57 -127 191 88 58 -128 192 89 60 -129 192 90 61 -130 192 91 62 -131 193 93 63 -132 193 94 64 -133 194 95 65 -134 194 96 67 -135 194 97 68 -136 195 99 69 -137 195 100 70 -138 196 101 71 -139 196 102 73 -140 196 103 74 -141 197 105 75 -142 197 106 77 -143 198 107 78 -144 198 108 79 -145 198 109 80 -146 199 110 82 -147 199 112 83 -148 199 113 84 -149 200 114 86 -150 200 115 87 -151 201 116 88 -152 201 117 90 -153 201 119 91 -154 202 120 92 -155 202 121 94 -156 202 122 95 -157 203 123 96 -158 203 124 98 -159 204 125 99 -160 204 127 100 -161 204 128 102 -162 205 129 103 -163 205 130 105 -164 205 131 106 -165 206 132 107 -166 206 133 109 -167 206 135 110 -168 207 136 111 -169 207 137 113 -170 207 138 114 -171 208 139 116 -172 208 140 117 -173 208 141 119 -174 209 143 120 -175 209 144 121 -176 209 145 123 -177 210 146 124 -178 210 147 126 -179 211 148 127 -180 211 149 128 -181 211 151 130 -182 212 152 131 -183 212 153 133 -184 212 154 134 -185 213 155 136 -186 213 156 137 -187 213 157 138 -188 214 158 140 -189 214 160 141 -190 214 161 143 -191 215 162 144 -192 215 163 146 -193 215 164 147 -194 216 165 148 -195 216 166 150 -196 216 168 151 -197 217 169 153 -198 217 170 154 -199 217 171 156 -200 218 172 157 -201 218 173 159 -202 218 174 160 -203 219 176 161 -204 219 177 163 -205 219 178 164 -206 220 179 166 -207 220 180 167 -208 220 181 169 -209 221 182 170 -210 221 184 172 -211 222 185 173 -212 222 186 174 -213 222 187 176 -214 223 188 177 -215 223 189 179 -216 223 191 180 -217 224 192 182 -218 224 193 183 -219 224 194 185 -220 225 195 186 -221 225 196 188 -222 226 198 189 -223 226 199 190 -224 226 200 192 -225 227 201 193 -226 227 202 195 -227 228 203 196 -228 228 204 198 -229 228 206 199 -230 229 207 200 -231 229 208 202 -232 230 209 203 -233 230 210 205 -234 230 212 206 -235 231 213 208 -236 231 214 209 -237 232 215 211 -238 232 216 212 -239 233 217 213 -240 233 219 215 -241 233 220 216 -242 234 221 218 -243 234 222 219 -244 235 223 220 -245 235 225 222 -246 236 226 223 -247 236 227 225 -248 237 228 226 -249 237 229 227 -250 238 231 229 -251 238 232 230 -252 239 233 232 -253 240 234 233 -254 240 235 234 -255 241 236 236 diff --git a/src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Balance.lut b/src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Balance.lut deleted file mode 100644 index 3e39ff1da..000000000 --- a/src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Balance.lut +++ /dev/null @@ -1,257 +0,0 @@ -Index Red Green Blue -0 23 28 66 -1 24 29 69 -2 25 31 72 -3 26 32 75 -4 27 33 78 -5 28 35 81 -6 29 36 85 -7 30 37 88 -8 31 39 91 -9 32 40 94 -10 33 41 97 -11 34 43 101 -12 35 44 104 -13 35 45 107 -14 36 47 111 -15 37 48 114 -16 37 49 118 -17 38 51 121 -18 39 52 125 -19 39 53 128 -20 40 55 132 -21 40 56 136 -22 40 57 139 -23 41 58 143 -24 41 60 147 -25 41 61 150 -26 41 63 154 -27 40 64 158 -28 40 65 161 -29 39 67 165 -30 39 68 168 -31 38 70 172 -32 36 72 175 -33 35 74 178 -34 33 75 181 -35 30 77 184 -36 27 80 186 -37 24 82 187 -38 21 84 188 -39 18 86 189 -40 15 89 189 -41 13 91 190 -42 11 93 190 -43 10 95 189 -44 9 98 189 -45 10 100 189 -46 11 102 189 -47 12 104 188 -48 14 106 188 -49 16 108 188 -50 19 110 187 -51 21 112 187 -52 24 114 187 -53 27 116 187 -54 29 117 186 -55 32 119 186 -56 35 121 186 -57 37 123 186 -58 40 125 186 -59 43 127 186 -60 45 128 185 -61 48 130 185 -62 51 132 185 -63 53 134 185 -64 56 135 185 -65 59 137 185 -66 61 139 185 -67 64 140 185 -68 66 142 185 -69 69 144 185 -70 72 145 185 -71 74 147 186 -72 77 149 186 -73 80 150 186 -74 83 152 186 -75 86 154 186 -76 89 155 186 -77 91 157 186 -78 94 158 187 -79 97 160 187 -80 100 162 187 -81 104 163 188 -82 107 165 188 -83 110 166 188 -84 113 168 189 -85 116 169 189 -86 119 171 190 -87 123 172 190 -88 126 173 191 -89 129 175 191 -90 132 176 192 -91 135 178 193 -92 139 179 193 -93 142 181 194 -94 145 182 195 -95 148 184 196 -96 151 185 197 -97 154 186 197 -98 157 188 198 -99 160 189 199 -100 163 191 200 -101 166 192 201 -102 169 194 202 -103 172 195 203 -104 175 197 204 -105 178 198 206 -106 181 200 207 -107 184 202 208 -108 187 203 209 -109 190 205 210 -110 193 206 212 -111 196 208 213 -112 199 210 214 -113 202 211 215 -114 204 213 217 -115 207 214 218 -116 210 216 219 -117 213 218 221 -118 216 220 222 -119 219 221 223 -120 221 223 225 -121 224 225 226 -122 227 227 228 -123 230 228 229 -124 232 230 231 -125 235 232 232 -126 238 234 234 -127 240 236 235 -128 240 236 235 -129 239 233 232 -130 238 231 230 -131 237 229 227 -132 236 226 224 -133 235 224 221 -134 234 222 218 -135 233 219 215 -136 232 217 213 -137 231 214 210 -138 231 212 207 -139 230 210 204 -140 229 207 201 -141 228 205 198 -142 227 203 195 -143 227 200 192 -144 226 198 190 -145 225 196 187 -146 224 193 184 -147 223 191 181 -148 223 189 178 -149 222 186 175 -150 221 184 172 -151 221 182 169 -152 220 179 166 -153 219 177 163 -154 218 175 161 -155 218 173 158 -156 217 170 155 -157 216 168 152 -158 216 166 149 -159 215 163 146 -160 214 161 143 -161 214 159 140 -162 213 157 138 -163 212 154 135 -164 212 152 132 -165 211 150 129 -166 210 148 126 -167 210 145 123 -168 209 143 120 -169 208 141 118 -170 208 138 115 -171 207 136 112 -172 206 134 109 -173 205 132 106 -174 205 129 104 -175 204 127 101 -176 203 125 98 -177 203 122 95 -178 202 120 93 -179 201 118 90 -180 200 115 87 -181 200 113 85 -182 199 111 82 -183 198 108 79 -184 197 106 77 -185 197 104 74 -186 196 101 72 -187 195 99 69 -188 194 96 67 -189 193 94 64 -190 192 92 62 -191 192 89 60 -192 191 87 58 -193 190 84 55 -194 189 82 53 -195 188 79 51 -196 187 77 49 -197 186 74 47 -198 185 72 45 -199 184 69 44 -200 183 66 42 -201 182 64 41 -202 181 61 40 -203 180 58 39 -204 179 56 38 -205 177 53 37 -206 176 50 36 -207 175 48 36 -208 173 45 36 -209 172 43 36 -210 170 40 36 -211 168 38 36 -212 167 35 36 -213 165 33 36 -214 163 31 37 -215 161 29 37 -216 159 27 37 -217 157 25 38 -218 155 23 38 -219 153 21 39 -220 150 20 39 -221 148 18 40 -222 146 17 40 -223 143 16 40 -224 141 15 40 -225 138 15 41 -226 136 14 41 -227 133 14 41 -228 130 14 41 -229 128 13 41 -230 125 13 41 -231 122 14 40 -232 120 14 40 -233 117 14 39 -234 114 14 39 -235 112 14 38 -236 109 14 38 -237 106 14 37 -238 104 14 36 -239 101 14 35 -240 98 14 34 -241 96 14 33 -242 93 14 33 -243 90 14 32 -244 88 13 30 -245 85 13 29 -246 83 13 28 -247 80 12 27 -248 77 12 26 -249 75 12 25 -250 72 11 24 -251 70 11 22 -252 67 10 21 -253 65 10 20 -254 62 9 19 -255 60 9 17 diff --git a/src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Curl.lut b/src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Curl.lut deleted file mode 100644 index 820059123..000000000 --- a/src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Curl.lut +++ /dev/null @@ -1,257 +0,0 @@ -Index Red Green Blue -0 20 29 67 -1 21 31 68 -2 21 33 69 -3 22 35 70 -4 22 37 71 -5 23 39 72 -6 23 41 74 -7 24 43 75 -8 24 45 76 -9 24 47 77 -10 25 48 78 -11 25 50 79 -12 25 52 80 -13 26 54 82 -14 26 56 83 -15 26 58 84 -16 27 60 85 -17 27 61 86 -18 27 63 87 -19 27 65 89 -20 27 67 90 -21 27 69 91 -22 28 71 92 -23 28 72 93 -24 28 74 94 -25 28 76 96 -26 28 78 97 -27 27 80 98 -28 27 82 99 -29 27 83 100 -30 27 85 101 -31 27 87 102 -32 26 89 103 -33 26 91 105 -34 26 93 106 -35 25 95 107 -36 25 96 108 -37 24 98 109 -38 23 100 110 -39 23 102 111 -40 22 104 112 -41 21 106 113 -42 21 108 114 -43 20 110 115 -44 19 112 115 -45 18 113 116 -46 18 115 117 -47 17 117 118 -48 17 119 119 -49 16 121 119 -50 16 123 120 -51 16 125 121 -52 17 127 122 -53 17 128 122 -54 18 130 123 -55 20 132 123 -56 21 134 124 -57 23 136 124 -58 26 138 125 -59 28 139 125 -60 31 141 126 -61 34 143 126 -62 37 145 126 -63 41 146 127 -64 44 148 127 -65 48 150 127 -66 52 151 128 -67 56 153 128 -68 60 154 129 -69 64 156 129 -70 68 157 130 -71 72 159 130 -72 76 160 131 -73 80 162 131 -74 84 163 132 -75 88 165 133 -76 92 166 133 -77 95 168 134 -78 99 169 135 -79 103 170 136 -80 107 172 137 -81 111 173 138 -82 115 174 140 -83 118 176 141 -84 122 177 142 -85 125 178 143 -86 129 180 145 -87 133 181 146 -88 136 183 148 -89 140 184 150 -90 143 185 151 -91 146 187 153 -92 150 188 155 -93 153 189 156 -94 156 191 158 -95 160 192 160 -96 163 194 162 -97 166 195 164 -98 169 196 166 -99 173 198 169 -100 176 199 171 -101 179 201 173 -102 182 202 175 -103 185 204 177 -104 188 205 180 -105 191 207 182 -106 194 208 185 -107 197 210 187 -108 200 212 190 -109 203 213 192 -110 206 215 195 -111 209 216 197 -112 212 218 200 -113 214 220 203 -114 217 221 205 -115 220 223 208 -116 223 225 211 -117 226 226 214 -118 229 228 216 -119 231 230 219 -120 234 232 222 -121 237 233 225 -122 240 235 228 -123 243 237 231 -124 245 239 234 -125 248 241 237 -126 251 243 240 -127 253 245 243 -128 253 245 243 -129 251 242 240 -130 250 240 237 -131 249 237 233 -132 248 235 230 -133 247 233 227 -134 246 230 223 -135 245 228 220 -136 244 225 216 -137 243 223 213 -138 242 220 210 -139 241 218 206 -140 240 215 203 -141 239 213 200 -142 238 210 196 -143 237 208 193 -144 236 205 190 -145 236 203 187 -146 235 200 183 -147 234 198 180 -148 233 195 177 -149 233 193 174 -150 232 190 171 -151 231 188 168 -152 231 186 165 -153 230 183 162 -154 229 181 159 -155 229 178 156 -156 228 176 153 -157 227 173 150 -158 227 171 147 -159 226 168 145 -160 225 166 142 -161 225 163 139 -162 224 160 137 -163 223 158 134 -164 223 155 132 -165 222 153 129 -166 221 150 127 -167 221 148 125 -168 220 145 123 -169 219 143 121 -170 219 140 119 -171 218 138 117 -172 217 135 115 -173 216 133 113 -174 215 130 112 -175 215 128 110 -176 214 125 109 -177 213 123 107 -178 212 120 106 -179 211 118 105 -180 210 115 104 -181 209 113 103 -182 208 111 102 -183 206 108 101 -184 205 106 100 -185 204 104 100 -186 203 101 99 -187 201 99 98 -188 200 97 98 -189 199 94 97 -190 197 92 97 -191 196 90 97 -192 194 88 96 -193 193 86 96 -194 191 83 96 -195 189 81 96 -196 188 79 96 -197 186 77 96 -198 184 75 96 -199 183 73 95 -200 181 71 95 -201 179 69 95 -202 177 67 95 -203 176 65 95 -204 174 63 95 -205 172 61 96 -206 170 60 96 -207 168 58 96 -208 166 56 96 -209 164 54 96 -210 162 52 96 -211 160 51 96 -212 158 49 96 -213 156 47 96 -214 154 45 96 -215 151 44 96 -216 149 42 96 -217 147 41 96 -218 145 39 96 -219 143 38 96 -220 140 36 96 -221 138 35 96 -222 136 33 96 -223 133 32 95 -224 131 31 95 -225 129 30 95 -226 126 28 95 -227 124 27 94 -228 121 26 94 -229 119 25 93 -230 116 25 93 -231 114 24 92 -232 111 23 91 -233 109 22 90 -234 106 22 89 -235 103 21 88 -236 101 21 87 -237 98 20 86 -238 95 20 85 -239 93 20 83 -240 90 19 82 -241 87 19 80 -242 85 19 79 -243 82 18 77 -244 79 18 75 -245 77 18 74 -246 74 17 72 -247 72 17 70 -248 69 16 68 -249 66 16 66 -250 64 16 64 -251 61 15 61 -252 59 14 59 -253 56 14 57 -254 54 13 55 -255 51 13 53 diff --git a/src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Deep.lut b/src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Deep.lut deleted file mode 100644 index 8da16d49f..000000000 --- a/src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Deep.lut +++ /dev/null @@ -1,257 +0,0 @@ -Index Red Green Blue -0 39 26 44 -1 40 26 45 -2 41 27 46 -3 41 28 48 -4 42 29 49 -5 43 29 50 -6 43 30 52 -7 44 31 53 -8 45 32 55 -9 45 32 56 -10 46 33 57 -11 47 34 59 -12 47 35 60 -13 48 35 62 -14 49 36 63 -15 49 37 65 -16 50 38 66 -17 50 38 68 -18 51 39 69 -19 52 40 71 -20 52 41 72 -21 53 41 74 -22 53 42 75 -23 54 43 77 -24 55 43 78 -25 55 44 80 -26 56 45 82 -27 56 46 83 -28 57 46 85 -29 57 47 86 -30 58 48 88 -31 58 48 90 -32 59 49 91 -33 59 50 93 -34 60 51 95 -35 60 51 96 -36 61 52 98 -37 61 53 99 -38 61 54 101 -39 62 54 103 -40 62 55 105 -41 62 56 106 -42 63 57 108 -43 63 57 110 -44 63 58 111 -45 64 59 113 -46 64 60 115 -47 64 61 116 -48 64 61 118 -49 65 62 120 -50 65 63 121 -51 65 64 123 -52 65 65 124 -53 65 66 126 -54 65 67 127 -55 65 68 129 -56 65 69 130 -57 65 69 132 -58 65 70 133 -59 65 71 134 -60 64 72 135 -61 64 74 136 -62 64 75 137 -63 64 76 138 -64 64 77 139 -65 63 78 140 -66 63 79 141 -67 63 80 142 -68 63 81 142 -69 62 82 143 -70 62 83 143 -71 62 84 144 -72 62 85 144 -73 62 87 145 -74 62 88 145 -75 61 89 145 -76 61 90 146 -77 61 91 146 -78 61 92 146 -79 61 93 147 -80 61 94 147 -81 61 95 147 -82 61 96 147 -83 61 97 148 -84 61 98 148 -85 61 99 148 -86 61 100 148 -87 61 101 149 -88 61 102 149 -89 62 103 149 -90 62 105 149 -91 62 106 149 -92 62 107 150 -93 62 108 150 -94 62 109 150 -95 62 110 150 -96 63 111 150 -97 63 112 151 -98 63 113 151 -99 63 114 151 -100 64 115 151 -101 64 116 151 -102 64 117 152 -103 64 118 152 -104 64 119 152 -105 65 120 152 -106 65 121 153 -107 65 122 153 -108 66 123 153 -109 66 124 153 -110 66 125 153 -111 66 126 154 -112 67 127 154 -113 67 128 154 -114 67 129 154 -115 68 129 154 -116 68 130 155 -117 68 131 155 -118 69 132 155 -119 69 133 155 -120 69 134 156 -121 70 135 156 -122 70 136 156 -123 70 137 156 -124 71 138 157 -125 71 139 157 -126 71 140 157 -127 72 141 157 -128 72 142 157 -129 72 143 158 -130 73 144 158 -131 73 145 158 -132 73 146 158 -133 74 147 159 -134 74 148 159 -135 74 149 159 -136 75 150 159 -137 75 151 159 -138 75 152 160 -139 76 153 160 -140 76 154 160 -141 76 155 160 -142 77 156 160 -143 77 157 161 -144 78 159 161 -145 78 160 161 -146 78 161 161 -147 79 162 161 -148 79 163 162 -149 80 164 162 -150 80 165 162 -151 81 166 162 -152 81 167 162 -153 81 168 162 -154 82 169 162 -155 82 170 163 -156 83 171 163 -157 83 172 163 -158 84 173 163 -159 85 174 163 -160 85 175 163 -161 86 176 163 -162 86 177 163 -163 87 178 163 -164 88 179 163 -165 88 180 163 -166 89 181 163 -167 90 182 163 -168 91 183 163 -169 92 184 163 -170 92 185 163 -171 93 186 163 -172 94 187 163 -173 95 188 163 -174 96 189 163 -175 97 190 163 -176 98 191 163 -177 99 192 163 -178 100 193 163 -179 102 194 163 -180 103 195 163 -181 104 196 163 -182 105 197 163 -183 107 198 163 -184 108 199 163 -185 110 200 163 -186 111 201 163 -187 113 202 163 -188 114 202 163 -189 116 203 163 -190 118 204 163 -191 119 205 162 -192 121 206 162 -193 123 207 162 -194 125 208 162 -195 127 209 162 -196 129 209 162 -197 131 210 162 -198 133 211 162 -199 135 212 163 -200 137 213 163 -201 139 213 163 -202 141 214 163 -203 143 215 163 -204 145 216 163 -205 147 216 163 -206 149 217 164 -207 152 218 164 -208 154 219 164 -209 156 219 165 -210 158 220 165 -211 160 221 165 -212 163 222 166 -213 165 222 166 -214 167 223 167 -215 169 224 167 -216 171 225 168 -217 174 225 168 -218 176 226 169 -219 178 227 169 -220 180 227 170 -221 182 228 171 -222 184 229 171 -223 187 230 172 -224 189 230 173 -225 191 231 173 -226 193 232 174 -227 195 232 175 -228 197 233 176 -229 199 234 176 -230 201 235 177 -231 204 235 178 -232 206 236 179 -233 208 237 180 -234 210 237 181 -235 212 238 182 -236 214 239 183 -237 216 240 184 -238 218 240 185 -239 220 241 186 -240 222 242 187 -241 224 242 188 -242 226 243 189 -243 228 244 190 -244 230 245 191 -245 232 245 192 -246 235 246 193 -247 237 247 194 -248 239 248 195 -249 241 248 196 -250 243 249 198 -251 245 250 199 -252 247 251 200 -253 249 252 201 -254 251 252 202 -255 253 253 204 diff --git a/src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Delta.lut b/src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Delta.lut deleted file mode 100644 index 63d48561c..000000000 --- a/src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Delta.lut +++ /dev/null @@ -1,257 +0,0 @@ -Index Red Green Blue -0 16 31 63 -1 18 32 66 -2 19 34 69 -3 20 35 73 -4 22 37 76 -5 23 38 79 -6 24 39 82 -7 25 41 86 -8 27 42 89 -9 28 43 92 -10 29 45 96 -11 30 46 99 -12 31 47 103 -13 32 48 107 -14 33 50 110 -15 34 51 114 -16 35 52 118 -17 36 53 122 -18 37 55 125 -19 37 56 129 -20 38 57 133 -21 38 59 137 -22 38 60 141 -23 38 62 144 -24 37 64 148 -25 35 66 150 -26 34 68 152 -27 33 70 153 -28 31 72 154 -29 30 75 155 -30 29 77 155 -31 29 79 156 -32 28 81 156 -33 27 83 157 -34 27 86 157 -35 27 88 157 -36 26 90 157 -37 26 92 158 -38 26 94 158 -39 26 96 158 -40 27 98 159 -41 27 100 159 -42 27 102 159 -43 28 104 160 -44 28 106 160 -45 29 108 160 -46 30 110 161 -47 31 112 161 -48 31 114 161 -49 32 116 162 -50 33 118 162 -51 34 120 163 -52 35 121 163 -53 36 123 164 -54 38 125 164 -55 39 127 165 -56 40 129 165 -57 41 131 165 -58 42 133 166 -59 44 135 166 -60 45 137 167 -61 46 139 167 -62 48 141 168 -63 49 142 168 -64 51 144 169 -65 53 146 169 -66 54 148 170 -67 56 150 170 -68 58 152 171 -69 60 154 171 -70 62 156 172 -71 64 157 172 -72 66 159 173 -73 68 161 173 -74 71 163 174 -75 73 165 174 -76 76 167 174 -77 79 168 175 -78 82 170 175 -79 86 172 176 -80 89 173 176 -81 93 175 176 -82 96 177 177 -83 100 178 177 -84 104 180 178 -85 108 181 179 -86 112 183 179 -87 116 184 180 -88 120 185 181 -89 124 187 182 -90 128 188 183 -91 132 190 184 -92 136 191 185 -93 140 193 186 -94 143 194 187 -95 147 196 188 -96 151 197 190 -97 154 198 191 -98 158 200 192 -99 162 201 193 -100 165 203 195 -101 169 204 196 -102 172 206 197 -103 175 208 199 -104 179 209 200 -105 182 211 202 -106 185 212 203 -107 189 214 204 -108 192 215 206 -109 195 217 207 -110 199 219 209 -111 202 220 210 -112 205 222 212 -113 208 224 213 -114 211 226 215 -115 214 227 216 -116 217 229 218 -117 221 231 219 -118 224 233 220 -119 227 235 222 -120 230 237 223 -121 233 238 224 -122 236 240 225 -123 239 242 226 -124 243 244 227 -125 246 246 228 -126 249 248 229 -127 253 250 229 -128 254 252 203 -129 253 249 199 -130 251 247 195 -131 250 244 191 -132 249 242 187 -133 247 240 182 -134 246 237 178 -135 245 235 174 -136 243 233 169 -137 242 230 165 -138 241 228 161 -139 239 226 156 -140 238 223 152 -141 236 221 148 -142 235 219 143 -143 233 217 139 -144 232 215 135 -145 230 213 130 -146 229 210 126 -147 227 208 122 -148 226 206 117 -149 224 204 113 -150 222 202 109 -151 220 201 104 -152 218 199 100 -153 216 197 96 -154 214 195 91 -155 212 193 87 -156 210 192 83 -157 207 190 79 -158 205 188 75 -159 203 187 71 -160 200 185 67 -161 197 184 63 -162 195 182 59 -163 192 181 56 -164 189 179 52 -165 186 178 48 -166 183 177 45 -167 180 175 42 -168 177 174 39 -169 174 173 35 -170 170 172 32 -171 167 170 29 -172 164 169 27 -173 160 168 24 -174 157 167 21 -175 154 166 19 -176 150 164 16 -177 147 163 14 -178 143 162 12 -179 140 161 10 -180 136 160 8 -181 133 158 7 -182 129 157 6 -183 126 156 5 -184 122 155 5 -185 119 153 5 -186 115 152 5 -187 112 151 6 -188 108 150 7 -189 104 149 8 -190 101 147 9 -191 97 146 11 -192 93 145 12 -193 90 143 14 -194 86 142 15 -195 82 141 17 -196 79 139 19 -197 75 138 20 -198 71 137 22 -199 68 135 23 -200 64 134 25 -201 61 132 26 -202 57 131 28 -203 54 129 29 -204 50 128 30 -205 47 126 32 -206 43 125 33 -207 40 123 34 -208 37 122 35 -209 34 120 36 -210 31 118 37 -211 28 117 38 -212 25 115 39 -213 23 113 40 -214 20 112 40 -215 18 110 41 -216 16 108 42 -217 14 106 42 -218 13 105 43 -219 12 103 43 -220 11 101 44 -221 10 99 44 -222 10 97 44 -223 11 95 44 -224 11 94 44 -225 12 92 44 -226 12 90 44 -227 13 88 44 -228 14 86 44 -229 15 84 44 -230 16 82 43 -231 17 80 43 -232 18 78 43 -233 19 76 42 -234 20 75 42 -235 20 73 41 -236 21 71 40 -237 22 69 40 -238 22 67 39 -239 23 65 38 -240 23 63 37 -241 24 61 36 -242 24 59 35 -243 24 57 34 -244 25 55 33 -245 25 53 32 -246 25 52 31 -247 25 50 30 -248 25 48 28 -249 25 46 27 -250 24 44 26 -251 24 42 24 -252 24 40 23 -253 23 38 21 -254 23 36 20 -255 23 35 18 diff --git a/src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Dense.lut b/src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Dense.lut deleted file mode 100644 index 8dc548f29..000000000 --- a/src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Dense.lut +++ /dev/null @@ -1,257 +0,0 @@ -Index Red Green Blue -0 54 14 36 -1 55 14 37 -2 56 14 38 -3 57 15 39 -4 59 15 40 -5 60 15 42 -6 61 15 43 -7 62 16 44 -8 64 16 45 -9 65 16 47 -10 66 16 48 -11 67 17 49 -12 68 17 50 -13 69 17 52 -14 71 17 53 -15 72 18 55 -16 73 18 56 -17 74 18 57 -18 75 18 59 -19 76 19 60 -20 77 19 62 -21 78 19 63 -22 79 19 65 -23 80 20 66 -24 81 20 68 -25 82 20 69 -26 83 21 71 -27 84 21 73 -28 85 22 74 -29 86 22 76 -30 87 22 77 -31 88 23 79 -32 89 23 81 -33 90 24 82 -34 91 24 84 -35 92 25 86 -36 92 25 87 -37 93 26 89 -38 94 26 91 -39 95 27 92 -40 96 28 94 -41 96 28 96 -42 97 29 97 -43 98 29 99 -44 99 30 101 -45 99 31 102 -46 100 31 104 -47 101 32 106 -48 101 33 107 -49 102 34 109 -50 103 34 110 -51 103 35 112 -52 104 36 114 -53 105 37 115 -54 105 37 117 -55 106 38 119 -56 106 39 120 -57 107 40 122 -58 107 41 123 -59 108 42 125 -60 108 42 127 -61 109 43 128 -62 109 44 130 -63 110 45 131 -64 110 46 133 -65 111 47 134 -66 111 48 136 -67 112 49 138 -68 112 49 139 -69 113 50 141 -70 113 51 142 -71 113 52 144 -72 114 53 145 -73 114 54 147 -74 115 55 148 -75 115 56 150 -76 115 57 151 -77 116 58 153 -78 116 59 154 -79 116 60 155 -80 116 61 157 -81 117 62 158 -82 117 63 160 -83 117 64 161 -84 118 65 163 -85 118 66 164 -86 118 67 165 -87 118 68 167 -88 119 69 168 -89 119 70 170 -90 119 71 171 -91 119 72 172 -92 119 73 174 -93 119 74 175 -94 120 75 176 -95 120 76 178 -96 120 77 179 -97 120 78 180 -98 120 80 181 -99 120 81 183 -100 120 82 184 -101 120 83 185 -102 120 84 186 -103 121 85 188 -104 121 86 189 -105 121 87 190 -106 121 88 191 -107 121 89 192 -108 121 91 194 -109 121 92 195 -110 121 93 196 -111 121 94 197 -112 121 95 198 -113 121 96 199 -114 121 97 200 -115 120 99 201 -116 120 100 202 -117 120 101 203 -118 120 102 204 -119 120 103 205 -120 120 104 206 -121 120 105 207 -122 120 107 208 -123 120 108 209 -124 119 109 210 -125 119 110 211 -126 119 111 212 -127 119 113 213 -128 119 114 213 -129 119 115 214 -130 118 116 215 -131 118 117 216 -132 118 119 216 -133 118 120 217 -134 118 121 218 -135 118 122 218 -136 117 123 219 -137 117 125 220 -138 117 126 220 -139 117 127 221 -140 117 128 221 -141 116 129 222 -142 116 131 222 -143 116 132 223 -144 116 133 223 -145 116 134 224 -146 116 135 224 -147 115 137 225 -148 115 138 225 -149 115 139 225 -150 115 140 226 -151 115 141 226 -152 115 143 226 -153 115 144 227 -154 115 145 227 -155 115 146 227 -156 115 147 227 -157 115 148 227 -158 115 150 227 -159 115 151 228 -160 115 152 228 -161 115 153 228 -162 115 154 228 -163 116 155 228 -164 116 156 228 -165 116 158 228 -166 116 159 228 -167 117 160 228 -168 117 161 228 -169 117 162 228 -170 118 163 228 -171 118 164 228 -172 119 165 228 -173 119 166 228 -174 120 167 228 -175 120 169 228 -176 121 170 228 -177 122 171 228 -178 122 172 228 -179 123 173 227 -180 124 174 227 -181 124 175 227 -182 125 176 227 -183 126 177 227 -184 127 178 227 -185 128 179 227 -186 129 180 227 -187 130 181 227 -188 131 182 227 -189 132 183 227 -190 133 184 226 -191 134 185 226 -192 135 186 226 -193 136 187 226 -194 137 188 226 -195 138 189 226 -196 139 190 226 -197 140 190 226 -198 141 191 226 -199 143 192 226 -200 144 193 226 -201 145 194 226 -202 146 195 226 -203 148 196 226 -204 149 197 226 -205 150 198 226 -206 152 199 226 -207 153 200 226 -208 154 201 226 -209 156 201 226 -210 157 202 226 -211 159 203 226 -212 160 204 226 -213 161 205 226 -214 163 206 226 -215 164 207 226 -216 166 208 226 -217 167 209 226 -218 169 209 226 -219 170 210 226 -220 172 211 227 -221 173 212 227 -222 175 213 227 -223 176 214 227 -224 178 215 227 -225 179 215 227 -226 181 216 228 -227 183 217 228 -228 184 218 228 -229 186 219 228 -230 187 220 228 -231 189 220 229 -232 191 221 229 -233 192 222 229 -234 194 223 230 -235 196 224 230 -236 197 225 230 -237 199 225 231 -238 201 226 231 -239 202 227 231 -240 204 228 232 -241 206 229 232 -242 207 230 233 -243 209 230 233 -244 211 231 234 -245 212 232 234 -246 214 233 235 -247 216 234 235 -248 217 235 236 -249 219 235 236 -250 221 236 237 -251 223 237 237 -252 224 238 238 -253 226 239 239 -254 228 239 239 -255 230 240 240 diff --git a/src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Gray.lut b/src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Gray.lut deleted file mode 100644 index 685dcfc3a..000000000 --- a/src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Gray.lut +++ /dev/null @@ -1,257 +0,0 @@ -Index Red Green Blue -0 0 0 0 -1 0 0 0 -2 0 0 0 -3 0 0 0 -4 0 0 0 -5 1 1 1 -6 1 1 1 -7 2 1 2 -8 2 2 2 -9 3 3 3 -10 3 3 3 -11 4 4 4 -12 5 5 5 -13 6 6 6 -14 7 7 7 -15 8 7 7 -16 9 8 8 -17 10 10 9 -18 11 11 11 -19 12 12 12 -20 13 13 13 -21 14 14 14 -22 15 15 15 -23 16 16 16 -24 17 17 17 -25 18 18 18 -26 19 19 19 -27 20 20 20 -28 21 21 21 -29 22 22 22 -30 23 23 23 -31 24 24 24 -32 25 25 25 -33 26 26 26 -34 27 27 27 -35 28 28 28 -36 29 29 28 -37 30 30 29 -38 31 30 30 -39 32 31 31 -40 33 32 32 -41 34 33 33 -42 35 34 34 -43 36 35 35 -44 37 36 36 -45 37 37 37 -46 38 38 38 -47 39 39 39 -48 40 40 40 -49 41 41 41 -50 42 42 41 -51 43 43 42 -52 44 43 43 -53 45 44 44 -54 46 45 45 -55 47 46 46 -56 48 47 47 -57 48 48 48 -58 49 49 49 -59 50 50 50 -60 51 51 51 -61 52 52 51 -62 53 52 52 -63 54 53 53 -64 55 54 54 -65 56 55 55 -66 57 56 56 -67 57 57 57 -68 58 58 58 -69 59 59 59 -70 60 60 59 -71 61 61 60 -72 62 61 61 -73 63 62 62 -74 64 63 63 -75 65 64 64 -76 66 65 65 -77 66 66 66 -78 67 67 67 -79 68 68 67 -80 69 69 68 -81 70 70 69 -82 71 70 70 -83 72 71 71 -84 73 72 72 -85 74 73 73 -86 75 74 74 -87 75 75 75 -88 76 76 76 -89 77 77 76 -90 78 78 77 -91 79 79 78 -92 80 79 79 -93 81 80 80 -94 82 81 81 -95 83 82 82 -96 84 83 83 -97 84 84 84 -98 85 85 84 -99 86 86 85 -100 87 87 86 -101 88 88 87 -102 89 89 88 -103 90 89 89 -104 91 90 90 -105 92 91 91 -106 93 92 92 -107 94 93 93 -108 94 94 94 -109 95 95 94 -110 96 96 95 -111 97 97 96 -112 98 98 97 -113 99 99 98 -114 100 100 99 -115 101 100 100 -116 102 101 101 -117 103 102 102 -118 104 103 103 -119 105 104 104 -120 106 105 105 -121 106 106 106 -122 107 107 106 -123 108 108 107 -124 109 109 108 -125 110 110 109 -126 111 111 110 -127 112 112 111 -128 113 113 112 -129 114 114 113 -130 115 114 114 -131 116 115 115 -132 117 116 116 -133 118 117 117 -134 119 118 118 -135 120 119 119 -136 121 120 120 -137 122 121 121 -138 123 122 122 -139 124 123 122 -140 125 124 123 -141 125 125 124 -142 126 126 125 -143 127 127 126 -144 128 128 127 -145 129 129 128 -146 130 130 129 -147 131 131 130 -148 132 132 131 -149 133 133 132 -150 134 134 133 -151 135 135 134 -152 136 136 135 -153 137 137 136 -154 138 138 137 -155 139 139 138 -156 140 140 139 -157 141 141 140 -158 142 142 141 -159 143 143 142 -160 144 144 143 -161 145 145 144 -162 146 146 145 -163 147 147 146 -164 148 148 147 -165 149 149 148 -166 150 150 149 -167 151 151 150 -168 152 152 151 -169 153 153 152 -170 154 154 153 -171 155 155 154 -172 156 156 155 -173 157 157 156 -174 158 158 157 -175 160 159 158 -176 161 160 159 -177 162 161 160 -178 163 162 161 -179 164 163 163 -180 165 164 164 -181 166 165 165 -182 167 167 166 -183 168 168 167 -184 169 169 168 -185 170 170 169 -186 171 171 170 -187 172 172 171 -188 173 173 172 -189 174 174 173 -190 176 175 174 -191 177 176 175 -192 178 177 176 -193 179 178 178 -194 180 180 179 -195 181 181 180 -196 182 182 181 -197 183 183 182 -198 184 184 183 -199 185 185 184 -200 187 186 185 -201 188 187 186 -202 189 189 188 -203 190 190 189 -204 191 191 190 -205 192 192 191 -206 193 193 192 -207 194 194 193 -208 196 195 194 -209 197 197 195 -210 198 198 197 -211 199 199 198 -212 200 200 199 -213 201 201 200 -214 203 202 201 -215 204 204 202 -216 205 205 204 -217 206 206 205 -218 207 207 206 -219 209 208 207 -220 210 209 208 -221 211 211 210 -222 212 212 211 -223 213 213 212 -224 215 214 213 -225 216 216 214 -226 217 217 216 -227 218 218 217 -228 219 219 218 -229 221 220 219 -230 222 222 220 -231 223 223 222 -232 224 224 223 -233 226 225 224 -234 227 227 225 -235 228 228 227 -236 229 229 228 -237 231 230 229 -238 232 232 230 -239 233 233 232 -240 235 234 233 -241 236 236 234 -242 237 237 236 -243 238 238 237 -244 240 239 238 -245 241 241 240 -246 242 242 241 -247 244 243 242 -248 245 245 243 -249 246 246 245 -250 248 247 246 -251 249 249 247 -252 250 250 249 -253 252 251 250 -254 253 253 251 -255 254 254 253 diff --git a/src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Haline.lut b/src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Haline.lut deleted file mode 100644 index 1d97c65df..000000000 --- a/src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Haline.lut +++ /dev/null @@ -1,257 +0,0 @@ -Index Red Green Blue -0 41 24 107 -1 42 24 110 -2 42 24 112 -3 42 25 114 -4 43 25 117 -5 43 25 119 -6 44 25 122 -7 44 26 124 -8 44 26 127 -9 45 26 129 -10 45 26 132 -11 45 27 134 -12 45 27 137 -13 46 27 139 -14 46 28 142 -15 46 28 144 -16 46 29 147 -17 46 29 149 -18 45 30 151 -19 45 31 153 -20 45 32 155 -21 44 33 157 -22 43 34 159 -23 42 35 160 -24 41 37 161 -25 40 39 162 -26 39 40 162 -27 38 42 162 -28 37 44 162 -29 35 46 162 -30 34 48 162 -31 33 49 162 -32 31 51 161 -33 30 53 161 -34 29 55 160 -35 27 56 160 -36 26 58 159 -37 25 59 159 -38 24 61 158 -39 22 62 157 -40 21 64 157 -41 20 65 156 -42 19 66 155 -43 18 68 155 -44 17 69 154 -45 16 70 153 -46 15 71 153 -47 15 73 152 -48 14 74 152 -49 13 75 151 -50 13 76 150 -51 12 77 150 -52 12 78 149 -53 12 79 149 -54 12 81 148 -55 12 82 148 -56 12 83 147 -57 12 84 147 -58 12 85 146 -59 12 86 146 -60 13 87 145 -61 13 88 145 -62 14 89 144 -63 14 90 144 -64 15 91 144 -65 15 92 143 -66 16 93 143 -67 17 93 143 -68 18 94 142 -69 18 95 142 -70 19 96 142 -71 20 97 141 -72 21 98 141 -73 21 99 141 -74 22 100 140 -75 23 101 140 -76 24 102 140 -77 25 102 140 -78 26 103 139 -79 26 104 139 -80 27 105 139 -81 28 106 139 -82 29 107 139 -83 30 108 139 -84 31 109 138 -85 31 109 138 -86 32 110 138 -87 33 111 138 -88 34 112 138 -89 35 113 138 -90 36 114 137 -91 36 115 137 -92 37 115 137 -93 38 116 137 -94 39 117 137 -95 39 118 137 -96 40 119 137 -97 41 120 137 -98 42 121 137 -99 42 121 137 -100 43 122 137 -101 44 123 136 -102 44 124 136 -103 45 125 136 -104 46 126 136 -105 46 127 136 -106 47 127 136 -107 48 128 136 -108 48 129 136 -109 49 130 136 -110 49 131 136 -111 50 132 136 -112 51 133 136 -113 51 133 136 -114 52 134 136 -115 52 135 136 -116 53 136 136 -117 54 137 136 -118 54 138 135 -119 55 139 135 -120 55 140 135 -121 56 140 135 -122 56 141 135 -123 57 142 135 -124 57 143 135 -125 58 144 135 -126 58 145 135 -127 59 146 135 -128 59 147 135 -129 60 148 134 -130 60 148 134 -131 61 149 134 -132 61 150 134 -133 62 151 134 -134 62 152 134 -135 63 153 134 -136 64 154 133 -137 64 155 133 -138 65 156 133 -139 65 157 133 -140 66 158 132 -141 66 158 132 -142 67 159 132 -143 67 160 132 -144 68 161 131 -145 69 162 131 -146 69 163 131 -147 70 164 131 -148 70 165 130 -149 71 166 130 -150 72 167 130 -151 72 168 129 -152 73 169 129 -153 74 169 128 -154 74 170 128 -155 75 171 128 -156 76 172 127 -157 77 173 127 -158 78 174 126 -159 78 175 126 -160 79 176 125 -161 80 177 125 -162 81 178 124 -163 82 179 124 -164 83 179 123 -165 84 180 123 -166 85 181 122 -167 86 182 121 -168 87 183 121 -169 88 184 120 -170 89 185 120 -171 90 186 119 -172 91 187 118 -173 92 187 118 -174 94 188 117 -175 95 189 116 -176 96 190 115 -177 98 191 115 -178 99 192 114 -179 100 193 113 -180 102 193 112 -181 103 194 112 -182 105 195 111 -183 106 196 110 -184 108 197 109 -185 109 198 108 -186 111 198 107 -187 113 199 107 -188 114 200 106 -189 116 201 105 -190 118 201 104 -191 120 202 103 -192 122 203 102 -193 124 204 101 -194 126 204 100 -195 128 205 100 -196 130 206 99 -197 132 206 98 -198 134 207 97 -199 136 208 96 -200 138 208 96 -201 141 209 95 -202 143 210 94 -203 145 210 93 -204 148 211 93 -205 150 211 92 -206 152 212 92 -207 155 213 92 -208 157 213 91 -209 160 214 91 -210 162 214 91 -211 165 215 91 -212 167 215 91 -213 170 216 92 -214 172 216 92 -215 175 216 92 -216 177 217 93 -217 179 217 94 -218 182 218 94 -219 184 218 95 -220 186 219 96 -221 189 219 97 -222 191 220 98 -223 193 220 99 -224 195 221 100 -225 197 221 102 -226 199 222 103 -227 202 222 104 -228 204 223 106 -229 206 223 107 -230 208 224 109 -231 210 224 110 -232 212 225 112 -233 214 225 113 -234 216 226 115 -235 217 226 117 -236 219 227 118 -237 221 228 120 -238 223 228 122 -239 225 229 123 -240 227 229 125 -241 229 230 127 -242 230 230 129 -243 232 231 131 -244 234 232 132 -245 236 232 134 -246 238 233 136 -247 239 233 138 -248 241 234 140 -249 243 235 142 -250 245 235 144 -251 246 236 145 -252 248 236 147 -253 250 237 149 -254 251 238 151 -255 253 238 153 diff --git a/src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Ice.lut b/src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Ice.lut deleted file mode 100644 index a59bf0cc9..000000000 --- a/src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Ice.lut +++ /dev/null @@ -1,257 +0,0 @@ -Index Red Green Blue -0 3 5 18 -1 4 6 19 -2 5 7 21 -3 6 8 22 -4 6 8 24 -5 7 9 25 -6 8 10 27 -7 9 11 28 -8 10 12 30 -9 11 13 31 -10 12 14 32 -11 13 15 34 -12 14 16 35 -13 15 16 37 -14 16 17 38 -15 17 18 40 -16 18 19 41 -17 19 20 42 -18 20 21 44 -19 21 21 45 -20 22 22 47 -21 23 23 48 -22 24 24 50 -23 25 25 51 -24 26 25 53 -25 27 26 54 -26 27 27 56 -27 28 28 57 -28 29 29 59 -29 30 29 60 -30 31 30 62 -31 32 31 63 -32 33 32 65 -33 34 32 66 -34 34 33 68 -35 35 34 69 -36 36 35 71 -37 37 35 72 -38 38 36 74 -39 39 37 75 -40 39 38 77 -41 40 38 79 -42 41 39 80 -43 42 40 82 -44 42 41 83 -45 43 41 85 -46 44 42 87 -47 45 43 88 -48 45 44 90 -49 46 45 91 -50 47 45 93 -51 48 46 95 -52 48 47 96 -53 49 48 98 -54 50 48 100 -55 50 49 101 -56 51 50 103 -57 52 51 105 -58 52 51 106 -59 53 52 108 -60 53 53 110 -61 54 54 111 -62 55 55 113 -63 55 55 115 -64 56 56 116 -65 56 57 118 -66 57 58 120 -67 57 59 121 -68 58 59 123 -69 58 60 125 -70 58 61 126 -71 59 62 128 -72 59 63 130 -73 60 64 131 -74 60 65 133 -75 60 65 134 -76 60 66 136 -77 61 67 138 -78 61 68 139 -79 61 69 141 -80 61 70 142 -81 62 71 144 -82 62 72 145 -83 62 73 147 -84 62 74 148 -85 62 75 150 -86 62 76 151 -87 62 77 152 -88 62 78 154 -89 62 79 155 -90 62 80 156 -91 62 81 157 -92 62 82 159 -93 62 83 160 -94 62 84 161 -95 62 85 162 -96 62 87 163 -97 62 88 164 -98 62 89 165 -99 62 90 166 -100 62 91 167 -101 62 92 168 -102 62 93 168 -103 62 94 169 -104 62 96 170 -105 62 97 171 -106 62 98 172 -107 62 99 172 -108 62 100 173 -109 62 101 174 -110 62 102 174 -111 62 103 175 -112 62 105 175 -113 62 106 176 -114 62 107 177 -115 62 108 177 -116 62 109 178 -117 63 110 178 -118 63 111 179 -119 63 112 179 -120 63 114 180 -121 63 115 180 -122 64 116 180 -123 64 117 181 -124 64 118 181 -125 65 119 182 -126 65 120 182 -127 65 121 183 -128 66 122 183 -129 66 123 183 -130 67 125 184 -131 67 126 184 -132 68 127 185 -133 68 128 185 -134 69 129 185 -135 69 130 186 -136 70 131 186 -137 70 132 186 -138 71 133 187 -139 72 134 187 -140 72 135 188 -141 73 136 188 -142 74 137 188 -143 74 139 189 -144 75 140 189 -145 76 141 189 -146 76 142 190 -147 77 143 190 -148 78 144 190 -149 79 145 191 -150 79 146 191 -151 80 147 192 -152 81 148 192 -153 82 149 192 -154 82 150 193 -155 83 151 193 -156 84 152 193 -157 85 153 194 -158 86 154 194 -159 87 156 195 -160 88 157 195 -161 88 158 195 -162 89 159 196 -163 90 160 196 -164 91 161 197 -165 92 162 197 -166 93 163 197 -167 94 164 198 -168 95 165 198 -169 96 166 199 -170 97 167 199 -171 98 168 199 -172 99 169 200 -173 100 170 200 -174 101 171 201 -175 102 172 201 -176 103 174 201 -177 104 175 202 -178 105 176 202 -179 106 177 203 -180 107 178 203 -181 109 179 203 -182 110 180 204 -183 111 181 204 -184 112 182 205 -185 113 183 205 -186 114 184 205 -187 116 185 206 -188 117 186 206 -189 118 187 207 -190 119 188 207 -191 121 189 208 -192 122 190 208 -193 123 191 208 -194 125 192 209 -195 126 193 209 -196 128 194 210 -197 129 195 210 -198 131 196 211 -199 132 198 211 -200 134 199 211 -201 135 200 212 -202 137 201 212 -203 138 202 213 -204 140 203 213 -205 142 203 214 -206 143 204 214 -207 145 205 215 -208 147 206 215 -209 149 207 216 -210 150 208 216 -211 152 209 217 -212 154 210 217 -213 156 211 218 -214 158 212 219 -215 160 213 219 -216 161 214 220 -217 163 215 220 -218 165 216 221 -219 167 217 222 -220 169 218 222 -221 171 219 223 -222 173 220 224 -223 175 221 225 -224 176 221 225 -225 178 222 226 -226 180 223 227 -227 182 224 228 -228 184 225 228 -229 186 226 229 -230 188 227 230 -231 190 228 231 -232 192 229 232 -233 193 230 233 -234 195 231 234 -235 197 232 234 -236 199 233 235 -237 201 234 236 -238 203 235 237 -239 205 236 238 -240 207 237 239 -241 208 238 240 -242 210 239 241 -243 212 240 242 -244 214 241 243 -245 216 242 244 -246 218 243 245 -247 219 244 245 -248 221 245 246 -249 223 246 247 -250 225 247 248 -251 227 248 249 -252 228 249 250 -253 230 250 251 -254 232 251 252 -255 234 252 253 diff --git a/src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Matter.lut b/src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Matter.lut deleted file mode 100644 index 826cb16c9..000000000 --- a/src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Matter.lut +++ /dev/null @@ -1,257 +0,0 @@ -Index Red Green Blue -0 47 15 61 -1 48 15 62 -2 49 15 63 -3 50 16 64 -4 52 16 65 -5 53 16 66 -6 54 17 67 -7 56 17 68 -8 57 17 68 -9 58 18 69 -10 59 18 70 -11 61 18 71 -12 62 18 72 -13 63 19 73 -14 64 19 73 -15 66 19 74 -16 67 19 75 -17 68 20 76 -18 70 20 76 -19 71 20 77 -20 72 20 78 -21 74 21 79 -22 75 21 79 -23 76 21 80 -24 78 21 81 -25 79 21 82 -26 80 22 82 -27 82 22 83 -28 83 22 84 -29 84 22 84 -30 85 22 85 -31 87 22 86 -32 88 23 86 -33 89 23 87 -34 91 23 87 -35 92 23 88 -36 94 23 89 -37 95 23 89 -38 96 23 90 -39 98 23 90 -40 99 24 91 -41 100 24 91 -42 102 24 92 -43 103 24 92 -44 104 24 93 -45 106 24 93 -46 107 24 93 -47 108 25 94 -48 110 25 94 -49 111 25 95 -50 112 25 95 -51 114 25 95 -52 115 25 96 -53 116 25 96 -54 118 26 96 -55 119 26 97 -56 120 26 97 -57 122 26 97 -58 123 26 97 -59 125 26 98 -60 126 27 98 -61 127 27 98 -62 129 27 98 -63 130 27 98 -64 131 28 98 -65 133 28 99 -66 134 28 99 -67 135 28 99 -68 136 29 99 -69 138 29 99 -70 139 29 99 -71 140 30 99 -72 142 30 99 -73 143 30 99 -74 144 31 99 -75 146 31 99 -76 147 31 99 -77 148 32 99 -78 149 32 99 -79 151 33 99 -80 152 33 99 -81 153 33 98 -82 155 34 98 -83 156 34 98 -84 157 35 98 -85 158 35 98 -86 160 36 98 -87 161 36 98 -88 162 37 97 -89 163 37 97 -90 165 38 97 -91 166 39 97 -92 167 39 97 -93 168 40 96 -94 169 40 96 -95 171 41 96 -96 172 42 96 -97 173 42 95 -98 174 43 95 -99 175 44 95 -100 177 44 95 -101 178 45 94 -102 179 46 94 -103 180 46 94 -104 181 47 93 -105 182 48 93 -106 184 48 93 -107 185 49 93 -108 186 50 92 -109 187 51 92 -110 188 51 92 -111 189 52 91 -112 190 53 91 -113 191 54 91 -114 192 55 90 -115 193 56 90 -116 195 56 90 -117 196 57 89 -118 197 58 89 -119 198 59 89 -120 199 60 88 -121 200 61 88 -122 201 62 88 -123 202 63 87 -124 203 64 87 -125 204 65 87 -126 205 66 86 -127 206 67 86 -128 207 68 86 -129 208 69 85 -130 208 70 85 -131 209 71 85 -132 210 72 84 -133 211 73 84 -134 212 74 84 -135 213 75 84 -136 214 76 83 -137 215 78 83 -138 215 79 83 -139 216 80 83 -140 217 81 83 -141 218 82 83 -142 218 83 82 -143 219 85 82 -144 220 86 82 -145 221 87 82 -146 221 88 82 -147 222 89 82 -148 223 91 82 -149 223 92 82 -150 224 93 82 -151 225 95 82 -152 225 96 82 -153 226 97 82 -154 226 98 82 -155 227 100 83 -156 227 101 83 -157 228 102 83 -158 229 104 83 -159 229 105 83 -160 230 106 84 -161 230 108 84 -162 231 109 84 -163 231 110 85 -164 232 112 85 -165 232 113 85 -166 232 114 86 -167 233 116 86 -168 233 117 87 -169 234 118 87 -170 234 120 88 -171 235 121 88 -172 235 123 89 -173 235 124 89 -174 236 125 90 -175 236 127 91 -176 237 128 91 -177 237 129 92 -178 237 131 92 -179 238 132 93 -180 238 133 94 -181 238 135 94 -182 239 136 95 -183 239 138 96 -184 239 139 97 -185 240 140 97 -186 240 142 98 -187 240 143 99 -188 241 144 100 -189 241 146 101 -190 241 147 101 -191 241 148 102 -192 242 150 103 -193 242 151 104 -194 242 153 105 -195 243 154 106 -196 243 155 107 -197 243 157 108 -198 243 158 108 -199 244 159 109 -200 244 161 110 -201 244 162 111 -202 244 163 112 -203 245 165 113 -204 245 166 114 -205 245 168 115 -206 245 169 116 -207 245 170 117 -208 246 172 118 -209 246 173 119 -210 246 174 120 -211 246 176 121 -212 247 177 122 -213 247 178 124 -214 247 180 125 -215 247 181 126 -216 247 183 127 -217 247 184 128 -218 248 185 129 -219 248 187 130 -220 248 188 131 -221 248 189 132 -222 248 191 134 -223 249 192 135 -224 249 194 136 -225 249 195 137 -226 249 196 138 -227 249 198 139 -228 249 199 141 -229 250 200 142 -230 250 202 143 -231 250 203 144 -232 250 205 145 -233 250 206 147 -234 250 207 148 -235 250 209 149 -236 251 210 150 -237 251 212 152 -238 251 213 153 -239 251 214 154 -240 251 216 156 -241 251 217 157 -242 251 219 158 -243 252 220 159 -244 252 221 161 -245 252 223 162 -246 252 224 163 -247 252 226 165 -248 252 227 166 -249 252 228 167 -250 252 230 169 -251 253 231 170 -252 253 233 172 -253 253 234 173 -254 253 235 174 -255 253 237 176 diff --git a/src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Oxy.lut b/src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Oxy.lut deleted file mode 100644 index cabc53237..000000000 --- a/src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Oxy.lut +++ /dev/null @@ -1,257 +0,0 @@ -Index Red Green Blue -0 63 5 5 -1 65 5 5 -2 67 5 5 -3 68 5 6 -4 70 6 6 -5 72 6 7 -6 73 6 7 -7 75 6 7 -8 77 6 8 -9 78 6 8 -10 80 6 9 -11 82 6 9 -12 83 7 10 -13 85 7 10 -14 87 7 11 -15 89 7 11 -16 90 7 11 -17 92 7 12 -18 94 7 12 -19 95 7 12 -20 97 7 13 -21 99 6 13 -22 101 6 13 -23 102 6 14 -24 104 6 14 -25 106 6 14 -26 107 6 14 -27 109 6 14 -28 111 5 15 -29 113 5 15 -30 114 5 15 -31 116 5 15 -32 118 5 15 -33 119 4 14 -34 121 4 14 -35 123 4 14 -36 124 5 14 -37 126 5 13 -38 128 6 13 -39 129 6 12 -40 131 7 12 -41 132 9 11 -42 133 10 10 -43 135 12 10 -44 136 14 9 -45 137 16 9 -46 138 17 8 -47 139 19 8 -48 141 21 8 -49 142 23 7 -50 143 24 7 -51 92 68 64 -52 80 79 79 -53 81 80 80 -54 82 81 81 -55 83 82 82 -56 84 83 83 -57 85 84 84 -58 86 85 85 -59 86 86 86 -60 87 87 87 -61 88 88 87 -62 89 89 88 -63 90 90 89 -64 91 91 90 -65 92 92 91 -66 93 92 92 -67 94 93 93 -68 95 94 94 -69 96 95 95 -70 97 96 96 -71 98 97 97 -72 99 98 98 -73 100 99 99 -74 101 100 100 -75 102 101 101 -76 102 102 102 -77 103 103 102 -78 104 104 103 -79 105 105 104 -80 106 106 105 -81 107 107 106 -82 108 108 107 -83 109 109 108 -84 110 110 109 -85 111 111 110 -86 112 112 111 -87 113 113 112 -88 114 114 113 -89 115 114 114 -90 116 115 115 -91 117 116 116 -92 118 117 117 -93 119 118 118 -94 120 119 119 -95 121 120 120 -96 122 121 121 -97 123 122 122 -98 124 123 123 -99 125 124 124 -100 126 125 125 -101 127 126 126 -102 128 127 127 -103 129 128 128 -104 130 129 129 -105 131 130 130 -106 132 131 131 -107 133 132 132 -108 134 133 133 -109 135 134 134 -110 136 135 135 -111 137 136 136 -112 138 137 137 -113 139 138 138 -114 140 139 139 -115 141 140 140 -116 142 141 141 -117 143 143 142 -118 144 144 143 -119 145 145 144 -120 146 146 145 -121 147 147 146 -122 148 148 147 -123 149 149 148 -124 150 150 149 -125 151 151 150 -126 152 152 151 -127 153 153 152 -128 154 154 153 -129 156 155 154 -130 157 156 155 -131 158 157 156 -132 159 158 157 -133 160 159 159 -134 161 160 160 -135 162 162 161 -136 163 163 162 -137 164 164 163 -138 165 165 164 -139 166 166 165 -140 167 167 166 -141 168 168 167 -142 170 169 168 -143 171 170 169 -144 172 171 171 -145 173 173 172 -146 174 174 173 -147 175 175 174 -148 176 176 175 -149 177 177 176 -150 178 178 177 -151 180 179 178 -152 181 180 179 -153 182 182 181 -154 183 183 182 -155 184 184 183 -156 185 185 184 -157 186 186 185 -158 188 187 186 -159 189 188 187 -160 190 190 189 -161 191 191 190 -162 192 192 191 -163 193 193 192 -164 195 194 193 -165 196 195 194 -166 197 197 196 -167 198 198 197 -168 199 199 198 -169 201 200 199 -170 202 201 200 -171 203 203 202 -172 204 204 203 -173 205 205 204 -174 207 206 205 -175 208 208 206 -176 209 209 208 -177 210 210 209 -178 211 211 210 -179 213 212 211 -180 214 214 213 -181 215 215 214 -182 216 216 215 -183 218 217 216 -184 219 219 218 -185 220 220 219 -186 222 221 220 -187 223 223 221 -188 224 224 223 -189 225 225 224 -190 227 226 225 -191 228 228 226 -192 229 229 228 -193 231 230 229 -194 232 232 230 -195 233 233 232 -196 234 234 233 -197 236 236 234 -198 237 237 236 -199 238 238 237 -200 240 240 238 -201 241 241 240 -202 242 242 241 -203 244 244 242 -204 245 247 216 -205 247 253 103 -206 245 252 100 -207 243 251 97 -208 242 250 94 -209 240 249 91 -210 238 247 88 -211 237 246 84 -212 236 245 80 -213 235 243 76 -214 234 242 73 -215 234 240 69 -216 234 239 66 -217 233 237 63 -218 233 235 61 -219 233 233 59 -220 233 232 57 -221 233 230 55 -222 233 228 53 -223 233 226 52 -224 232 225 51 -225 232 223 49 -226 232 221 48 -227 232 220 47 -228 231 218 46 -229 231 216 45 -230 231 214 44 -231 230 213 43 -232 230 211 42 -233 230 209 41 -234 229 208 40 -235 229 206 39 -236 229 205 38 -237 228 203 38 -238 228 201 37 -239 227 200 36 -240 227 198 35 -241 227 196 34 -242 226 195 34 -243 226 193 33 -244 225 192 32 -245 225 190 32 -246 224 188 31 -247 224 187 30 -248 223 185 30 -249 223 184 29 -250 223 182 28 -251 222 181 28 -252 222 179 27 -253 221 178 26 -254 221 176 26 -255 220 174 25 diff --git a/src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Phase.lut b/src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Phase.lut deleted file mode 100644 index 39ad52cd3..000000000 --- a/src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Phase.lut +++ /dev/null @@ -1,257 +0,0 @@ -Index Red Green Blue -0 167 119 12 -1 169 118 14 -2 170 117 16 -3 172 116 18 -4 173 115 20 -5 175 115 22 -6 176 114 23 -7 178 113 25 -8 179 112 27 -9 180 111 28 -10 182 110 30 -11 183 109 31 -12 184 107 33 -13 186 106 35 -14 187 105 36 -15 188 104 38 -16 189 103 39 -17 190 102 41 -18 192 101 43 -19 193 100 44 -20 194 99 46 -21 195 98 47 -22 196 97 49 -23 197 96 51 -24 198 95 52 -25 199 93 54 -26 200 92 56 -27 201 91 58 -28 202 90 59 -29 203 89 61 -30 204 88 63 -31 205 86 65 -32 206 85 67 -33 207 84 68 -34 208 83 70 -35 209 81 72 -36 210 80 74 -37 211 79 76 -38 211 78 78 -39 212 76 80 -40 213 75 83 -41 214 74 85 -42 214 72 87 -43 215 71 89 -44 216 69 91 -45 216 68 94 -46 217 67 96 -47 218 65 99 -48 218 64 101 -49 219 62 104 -50 219 61 106 -51 220 59 109 -52 220 58 112 -53 220 57 114 -54 221 55 117 -55 221 54 120 -56 221 52 123 -57 222 51 126 -58 222 49 129 -59 222 48 132 -60 222 47 135 -61 222 45 138 -62 222 44 141 -63 222 43 144 -64 222 42 147 -65 222 41 150 -66 222 40 153 -67 221 39 156 -68 221 38 160 -69 221 38 163 -70 220 37 166 -71 220 37 169 -72 219 37 172 -73 219 37 175 -74 218 37 178 -75 217 37 181 -76 216 38 184 -77 216 38 187 -78 215 39 190 -79 214 40 193 -80 213 41 195 -81 212 42 198 -82 211 43 201 -83 210 44 203 -84 209 45 206 -85 207 47 208 -86 206 48 210 -87 205 50 212 -88 204 51 215 -89 202 53 217 -90 201 54 219 -91 199 56 220 -92 198 58 222 -93 196 60 224 -94 195 61 226 -95 193 63 227 -96 192 65 229 -97 190 66 230 -98 188 68 232 -99 187 70 233 -100 185 71 234 -101 183 73 235 -102 181 75 236 -103 180 77 237 -104 178 78 238 -105 176 80 239 -106 174 82 240 -107 172 83 240 -108 170 85 241 -109 168 86 242 -110 166 88 242 -111 164 90 242 -112 162 91 243 -113 160 93 243 -114 158 94 243 -115 156 96 243 -116 153 97 244 -117 151 99 244 -118 149 100 244 -119 147 102 243 -120 144 103 243 -121 142 105 243 -122 140 106 243 -123 137 107 242 -124 135 109 242 -125 132 110 242 -126 130 112 241 -127 127 113 240 -128 125 114 240 -129 122 115 239 -130 120 117 238 -131 117 118 237 -132 115 119 236 -133 112 120 235 -134 109 122 234 -135 106 123 233 -136 104 124 232 -137 101 125 230 -138 98 126 229 -139 95 127 228 -140 93 128 226 -141 90 129 225 -142 87 130 223 -143 84 131 221 -144 82 132 220 -145 79 133 218 -146 76 134 216 -147 73 135 214 -148 71 136 212 -149 68 137 210 -150 66 137 208 -151 63 138 206 -152 61 139 204 -153 58 139 202 -154 56 140 200 -155 53 141 198 -156 51 141 196 -157 49 142 194 -158 47 142 192 -159 45 143 190 -160 43 143 188 -161 42 144 185 -162 40 144 183 -163 38 144 181 -164 37 145 179 -165 35 145 177 -166 34 146 175 -167 33 146 173 -168 32 146 171 -169 31 147 169 -170 30 147 167 -171 29 147 165 -172 28 147 163 -173 27 148 161 -174 26 148 159 -175 25 148 157 -176 24 148 156 -177 23 149 154 -178 22 149 152 -179 22 149 150 -180 21 149 148 -181 20 150 146 -182 19 150 144 -183 18 150 142 -184 17 150 140 -185 16 151 138 -186 15 151 136 -187 15 151 134 -188 14 151 132 -189 13 151 130 -190 12 152 128 -191 12 152 125 -192 11 152 123 -193 11 152 121 -194 11 152 119 -195 11 153 116 -196 11 153 114 -197 12 153 112 -198 13 153 109 -199 15 153 107 -200 16 153 104 -201 18 153 102 -202 20 153 99 -203 22 153 96 -204 25 154 93 -205 27 154 91 -206 30 154 88 -207 33 154 85 -208 36 153 82 -209 39 153 79 -210 42 153 76 -211 45 153 73 -212 49 153 69 -213 52 153 66 -214 56 152 63 -215 59 152 60 -216 63 152 56 -217 67 151 53 -218 71 151 50 -219 74 150 46 -220 78 150 43 -221 82 149 40 -222 86 149 37 -223 90 148 34 -224 93 147 32 -225 97 146 29 -226 100 146 27 -227 104 145 25 -228 107 144 23 -229 110 143 21 -230 113 142 19 -231 116 141 18 -232 119 141 17 -233 121 140 16 -234 124 139 15 -235 127 138 15 -236 129 137 14 -237 131 136 14 -238 134 135 13 -239 136 135 13 -240 138 134 13 -241 140 133 13 -242 142 132 13 -243 145 131 13 -244 147 130 13 -245 149 129 13 -246 151 128 13 -247 153 127 13 -248 154 126 13 -249 156 125 13 -250 158 124 13 -251 160 123 13 -252 162 122 13 -253 164 121 13 -254 166 120 12 -255 167 119 12 diff --git a/src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Solar.lut b/src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Solar.lut deleted file mode 100644 index 1a4b19b3d..000000000 --- a/src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Solar.lut +++ /dev/null @@ -1,257 +0,0 @@ -Index Red Green Blue -0 51 19 23 -1 52 20 24 -2 53 20 24 -3 55 21 25 -4 56 21 25 -5 57 21 26 -6 58 22 26 -7 59 22 27 -8 61 23 27 -9 62 23 28 -10 63 23 28 -11 64 24 28 -12 66 24 29 -13 67 25 29 -14 68 25 30 -15 69 25 30 -16 71 26 30 -17 72 26 31 -18 73 27 31 -19 74 27 31 -20 76 27 32 -21 77 28 32 -22 78 28 32 -23 79 28 33 -24 81 29 33 -25 82 29 33 -26 83 29 34 -27 84 30 34 -28 86 30 34 -29 87 30 34 -30 88 31 35 -31 89 31 35 -32 91 31 35 -33 92 32 35 -34 93 32 35 -35 94 32 35 -36 96 33 36 -37 97 33 36 -38 98 33 36 -39 99 34 36 -40 101 34 36 -41 102 34 36 -42 103 35 36 -43 104 35 36 -44 106 36 36 -45 107 36 36 -46 108 36 36 -47 109 37 36 -48 111 37 36 -49 112 37 36 -50 113 38 36 -51 114 38 36 -52 116 38 36 -53 117 39 36 -54 118 39 36 -55 119 40 36 -56 120 40 35 -57 122 41 35 -58 123 41 35 -59 124 42 35 -60 125 42 35 -61 126 43 34 -62 127 43 34 -63 129 44 34 -64 130 44 34 -65 131 45 33 -66 132 45 33 -67 133 46 33 -68 134 46 33 -69 135 47 32 -70 136 48 32 -71 137 48 32 -72 138 49 31 -73 139 50 31 -74 140 50 31 -75 141 51 31 -76 142 52 30 -77 143 52 30 -78 144 53 30 -79 145 54 29 -80 146 55 29 -81 147 56 29 -82 148 56 28 -83 149 57 28 -84 150 58 28 -85 151 59 27 -86 151 60 27 -87 152 60 27 -88 153 61 27 -89 154 62 26 -90 155 63 26 -91 156 64 26 -92 156 65 25 -93 157 66 25 -94 158 67 25 -95 159 67 25 -96 160 68 24 -97 160 69 24 -98 161 70 24 -99 162 71 23 -100 163 72 23 -101 164 73 23 -102 164 74 23 -103 165 75 23 -104 166 76 22 -105 166 77 22 -106 167 78 22 -107 168 79 22 -108 169 80 21 -109 169 81 21 -110 170 82 21 -111 171 83 21 -112 171 84 21 -113 172 85 20 -114 173 86 20 -115 173 87 20 -116 174 88 20 -117 175 89 20 -118 175 90 20 -119 176 91 20 -120 177 92 19 -121 177 93 19 -122 178 94 19 -123 179 95 19 -124 179 96 19 -125 180 97 19 -126 180 98 19 -127 181 99 19 -128 182 100 19 -129 182 101 19 -130 183 102 19 -131 183 103 18 -132 184 104 18 -133 185 105 18 -134 185 106 18 -135 186 107 18 -136 186 108 18 -137 187 109 18 -138 187 110 18 -139 188 111 19 -140 188 113 19 -141 189 114 19 -142 190 115 19 -143 190 116 19 -144 191 117 19 -145 191 118 19 -146 192 119 19 -147 192 120 19 -148 193 121 19 -149 193 122 20 -150 194 123 20 -151 194 124 20 -152 195 126 20 -153 195 127 20 -154 196 128 20 -155 196 129 21 -156 197 130 21 -157 197 131 21 -158 198 132 21 -159 198 133 22 -160 199 134 22 -161 199 135 22 -162 199 137 22 -163 200 138 23 -164 200 139 23 -165 201 140 23 -166 201 141 24 -167 202 142 24 -168 202 143 24 -169 203 144 25 -170 203 146 25 -171 203 147 25 -172 204 148 26 -173 204 149 26 -174 205 150 27 -175 205 151 27 -176 205 153 27 -177 206 154 28 -178 206 155 28 -179 207 156 29 -180 207 157 29 -181 207 158 30 -182 208 159 30 -183 208 161 31 -184 209 162 31 -185 209 163 32 -186 209 164 32 -187 210 165 32 -188 210 167 33 -189 210 168 33 -190 211 169 34 -191 211 170 34 -192 211 171 35 -193 212 173 36 -194 212 174 36 -195 212 175 37 -196 213 176 37 -197 213 177 38 -198 213 179 38 -199 214 180 39 -200 214 181 39 -201 214 182 40 -202 215 183 40 -203 215 185 41 -204 215 186 42 -205 216 187 42 -206 216 188 43 -207 216 190 43 -208 216 191 44 -209 217 192 44 -210 217 193 45 -211 217 195 46 -212 217 196 46 -213 218 197 47 -214 218 198 47 -215 218 200 48 -216 218 201 49 -217 219 202 49 -218 219 203 50 -219 219 205 51 -220 219 206 51 -221 220 207 52 -222 220 208 52 -223 220 210 53 -224 220 211 54 -225 220 212 54 -226 221 214 55 -227 221 215 56 -228 221 216 56 -229 221 218 57 -230 221 219 58 -231 222 220 58 -232 222 222 59 -233 222 223 60 -234 222 224 60 -235 222 226 61 -236 222 227 61 -237 223 228 62 -238 223 230 63 -239 223 231 63 -240 223 232 64 -241 223 234 65 -242 223 235 65 -243 223 236 66 -244 223 238 67 -245 223 239 68 -246 224 240 68 -247 224 242 69 -248 224 243 70 -249 224 245 70 -250 224 246 71 -251 224 247 72 -252 224 249 72 -253 224 250 73 -254 224 252 74 -255 224 253 74 diff --git a/src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Speed.lut b/src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Speed.lut deleted file mode 100644 index e450ce9eb..000000000 --- a/src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Speed.lut +++ /dev/null @@ -1,257 +0,0 @@ -Index Red Green Blue -0 23 35 18 -1 23 35 19 -2 23 36 20 -3 23 37 21 -4 23 38 21 -5 24 39 22 -6 24 40 23 -7 24 41 24 -8 24 42 24 -9 24 43 25 -10 24 44 26 -11 25 45 26 -12 25 46 27 -13 25 47 28 -14 25 48 28 -15 25 49 29 -16 25 50 30 -17 25 51 30 -18 25 52 31 -19 25 52 32 -20 25 53 32 -21 25 54 33 -22 25 55 33 -23 25 56 34 -24 24 57 34 -25 24 58 35 -26 24 59 35 -27 24 60 36 -28 24 61 36 -29 24 62 37 -30 23 63 37 -31 23 64 38 -32 23 65 38 -33 23 66 39 -34 22 67 39 -35 22 68 39 -36 22 69 40 -37 21 70 40 -38 21 71 40 -39 21 72 41 -40 20 73 41 -41 20 74 41 -42 20 74 42 -43 19 75 42 -44 19 76 42 -45 18 77 42 -46 18 78 43 -47 17 79 43 -48 17 80 43 -49 16 81 43 -50 16 82 43 -51 15 83 44 -52 15 84 44 -53 15 85 44 -54 14 86 44 -55 14 87 44 -56 13 88 44 -57 13 89 44 -58 12 90 44 -59 12 91 44 -60 12 92 44 -61 11 92 44 -62 11 93 44 -63 11 94 44 -64 11 95 44 -65 10 96 44 -66 10 97 44 -67 10 98 44 -68 10 99 44 -69 11 100 44 -70 11 101 44 -71 11 102 43 -72 12 103 43 -73 12 103 43 -74 13 104 43 -75 13 105 43 -76 14 106 42 -77 15 107 42 -78 16 108 42 -79 17 109 41 -80 18 110 41 -81 19 111 41 -82 20 111 41 -83 21 112 40 -84 22 113 40 -85 24 114 39 -86 25 115 39 -87 26 116 39 -88 28 117 38 -89 29 117 38 -90 31 118 37 -91 32 119 37 -92 34 120 36 -93 35 121 36 -94 37 121 35 -95 38 122 35 -96 40 123 34 -97 42 124 33 -98 43 125 33 -99 45 125 32 -100 46 126 32 -101 48 127 31 -102 50 128 30 -103 52 129 30 -104 53 129 29 -105 55 130 28 -106 57 131 28 -107 59 131 27 -108 60 132 26 -109 62 133 26 -110 64 134 25 -111 66 134 24 -112 67 135 23 -113 69 136 23 -114 71 137 22 -115 73 137 21 -116 75 138 20 -117 77 139 20 -118 78 139 19 -119 80 140 18 -120 82 141 17 -121 84 141 16 -122 86 142 16 -123 87 143 15 -124 89 143 14 -125 91 144 13 -126 93 145 12 -127 95 145 12 -128 97 146 11 -129 98 146 10 -130 100 147 9 -131 102 148 9 -132 104 148 8 -133 106 149 8 -134 107 150 7 -135 109 150 7 -136 111 151 6 -137 113 151 6 -138 115 152 5 -139 116 153 5 -140 118 153 5 -141 120 154 5 -142 122 155 5 -143 124 155 5 -144 125 156 5 -145 127 156 6 -146 129 157 6 -147 131 158 6 -148 132 158 7 -149 134 159 7 -150 136 159 8 -151 138 160 9 -152 139 161 10 -153 141 161 11 -154 143 162 12 -155 145 162 13 -156 146 163 14 -157 148 164 15 -158 150 164 16 -159 151 165 17 -160 153 165 18 -161 155 166 20 -162 157 167 21 -163 158 167 22 -164 160 168 23 -165 162 168 25 -166 163 169 26 -167 165 170 28 -168 167 170 29 -169 168 171 30 -170 170 171 32 -171 171 172 33 -172 173 173 35 -173 175 173 36 -174 176 174 38 -175 178 175 40 -176 179 175 41 -177 181 176 43 -178 182 177 44 -179 184 177 46 -180 185 178 48 -181 187 179 50 -182 188 179 51 -183 190 180 53 -184 191 181 55 -185 193 181 57 -186 194 182 59 -187 195 183 60 -188 197 183 62 -189 198 184 64 -190 199 185 66 -191 201 186 68 -192 202 186 70 -193 203 187 72 -194 205 188 74 -195 206 189 76 -196 207 190 78 -197 208 190 80 -198 209 191 82 -199 211 192 84 -200 212 193 86 -201 213 194 88 -202 214 195 91 -203 215 196 93 -204 216 196 95 -205 217 197 97 -206 218 198 99 -207 219 199 101 -208 220 200 103 -209 221 201 106 -210 222 202 108 -211 223 203 110 -212 223 204 112 -213 224 205 114 -214 225 206 116 -215 226 207 119 -216 227 208 121 -217 228 209 123 -218 229 210 125 -219 229 211 127 -220 230 212 129 -221 231 213 132 -222 232 214 134 -223 232 215 136 -224 233 216 138 -225 234 217 140 -226 235 219 143 -227 235 220 145 -228 236 221 147 -229 237 222 149 -230 238 223 151 -231 238 224 153 -232 239 225 156 -233 240 226 158 -234 240 227 160 -235 241 229 162 -236 242 230 164 -237 242 231 166 -238 243 232 168 -239 244 233 171 -240 244 234 173 -241 245 236 175 -242 246 237 177 -243 246 238 179 -244 247 239 181 -245 248 240 183 -246 248 241 185 -247 249 243 188 -248 250 244 190 -249 250 245 192 -250 251 246 194 -251 252 247 196 -252 252 249 198 -253 253 250 200 -254 254 251 202 -255 254 252 205 diff --git a/src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Tempo.lut b/src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Tempo.lut deleted file mode 100644 index 8a6985a5e..000000000 --- a/src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Tempo.lut +++ /dev/null @@ -1,257 +0,0 @@ -Index Red Green Blue -0 20 29 67 -1 21 30 68 -2 21 31 68 -3 21 32 69 -4 21 33 69 -5 22 34 70 -6 22 35 70 -7 22 36 71 -8 22 37 71 -9 22 38 72 -10 23 39 72 -11 23 40 73 -12 23 41 74 -13 23 42 74 -14 24 43 75 -15 24 44 75 -16 24 45 76 -17 24 46 76 -18 24 47 77 -19 24 47 78 -20 25 48 78 -21 25 49 79 -22 25 50 79 -23 25 51 80 -24 25 52 80 -25 26 53 81 -26 26 54 82 -27 26 55 82 -28 26 56 83 -29 26 57 83 -30 26 58 84 -31 26 59 84 -32 27 60 85 -33 27 60 86 -34 27 61 86 -35 27 62 87 -36 27 63 87 -37 27 64 88 -38 27 65 89 -39 27 66 89 -40 27 67 90 -41 27 68 90 -42 27 69 91 -43 28 70 91 -44 28 70 92 -45 28 71 93 -46 28 72 93 -47 28 73 94 -48 28 74 94 -49 28 75 95 -50 28 76 96 -51 28 77 96 -52 28 78 97 -53 28 79 97 -54 27 80 98 -55 27 81 98 -56 27 81 99 -57 27 82 100 -58 27 83 100 -59 27 84 101 -60 27 85 101 -61 27 86 102 -62 27 87 102 -63 27 88 103 -64 26 89 103 -65 26 90 104 -66 26 91 105 -67 26 92 105 -68 26 93 106 -69 25 94 106 -70 25 94 107 -71 25 95 107 -72 25 96 108 -73 24 97 108 -74 24 98 109 -75 24 99 109 -76 23 100 110 -77 23 101 110 -78 23 102 111 -79 22 103 111 -80 22 104 112 -81 22 105 112 -82 21 106 113 -83 21 107 113 -84 21 108 114 -85 20 109 114 -86 20 109 115 -87 20 110 115 -88 19 111 115 -89 19 112 116 -90 19 113 116 -91 18 114 117 -92 18 115 117 -93 18 116 117 -94 17 117 118 -95 17 118 118 -96 17 119 119 -97 17 120 119 -98 16 121 119 -99 16 122 120 -100 16 123 120 -101 16 124 120 -102 16 125 121 -103 16 125 121 -104 17 126 121 -105 17 127 122 -106 17 128 122 -107 18 129 122 -108 18 130 123 -109 19 131 123 -110 19 132 123 -111 20 133 123 -112 21 134 124 -113 22 135 124 -114 23 136 124 -115 24 137 124 -116 25 137 125 -117 26 138 125 -118 28 139 125 -119 29 140 125 -120 31 141 125 -121 32 142 126 -122 34 143 126 -123 35 144 126 -124 37 144 126 -125 38 145 126 -126 40 146 127 -127 42 147 127 -128 44 148 127 -129 46 149 127 -130 47 149 127 -131 49 150 128 -132 51 151 128 -133 53 152 128 -134 55 153 128 -135 57 153 128 -136 59 154 129 -137 61 155 129 -138 63 156 129 -139 65 157 129 -140 67 157 129 -141 69 158 130 -142 71 159 130 -143 73 160 130 -144 75 160 131 -145 77 161 131 -146 79 162 131 -147 81 162 131 -148 83 163 132 -149 85 164 132 -150 87 165 133 -151 89 165 133 -152 91 166 133 -153 93 167 134 -154 95 167 134 -155 97 168 135 -156 99 169 135 -157 101 169 136 -158 103 170 136 -159 105 171 137 -160 106 171 137 -161 108 172 138 -162 110 173 138 -163 112 174 139 -164 114 174 139 -165 116 175 140 -166 118 176 141 -167 119 176 141 -168 121 177 142 -169 123 178 143 -170 125 178 143 -171 127 179 144 -172 128 180 145 -173 130 180 145 -174 132 181 146 -175 134 182 147 -176 136 182 148 -177 137 183 148 -178 139 184 149 -179 141 184 150 -180 142 185 151 -181 144 186 152 -182 146 186 153 -183 148 187 153 -184 149 188 154 -185 151 188 155 -186 153 189 156 -187 154 190 157 -188 156 191 158 -189 157 191 159 -190 159 192 160 -191 161 193 161 -192 162 193 162 -193 164 194 163 -194 166 195 164 -195 167 195 165 -196 169 196 166 -197 170 197 167 -198 172 198 168 -199 174 198 169 -200 175 199 170 -201 177 200 171 -202 178 201 172 -203 180 201 174 -204 181 202 175 -205 183 203 176 -206 184 204 177 -207 186 204 178 -208 187 205 179 -209 189 206 181 -210 190 207 182 -211 192 207 183 -212 193 208 184 -213 195 209 185 -214 196 210 187 -215 198 210 188 -216 199 211 189 -217 201 212 190 -218 202 213 192 -219 204 214 193 -220 205 214 194 -221 207 215 195 -222 208 216 197 -223 210 217 198 -224 211 218 199 -225 212 218 201 -226 214 219 202 -227 215 220 203 -228 217 221 205 -229 218 222 206 -230 220 223 207 -231 221 223 209 -232 222 224 210 -233 224 225 212 -234 225 226 213 -235 227 227 214 -236 228 228 216 -237 229 229 217 -238 231 229 219 -239 232 230 220 -240 234 231 221 -241 235 232 223 -242 236 233 224 -243 238 234 226 -244 239 235 227 -245 241 236 229 -246 242 237 230 -247 243 238 232 -248 245 238 233 -249 246 239 235 -250 247 240 236 -251 249 241 238 -252 250 242 239 -253 252 243 241 -254 253 244 242 -255 254 245 244 diff --git a/src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Thermal.lut b/src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Thermal.lut deleted file mode 100644 index 63408e96b..000000000 --- a/src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Thermal.lut +++ /dev/null @@ -1,257 +0,0 @@ -Index Red Green Blue -0 3 35 51 -1 4 35 53 -2 4 36 55 -3 4 37 57 -4 4 38 58 -5 4 38 60 -6 5 39 62 -7 5 40 64 -8 5 40 66 -9 5 41 68 -10 5 42 70 -11 6 42 73 -12 6 43 75 -13 6 43 77 -14 7 44 79 -15 7 44 81 -16 8 45 83 -17 8 46 86 -18 9 46 88 -19 10 47 90 -20 10 47 93 -21 11 48 95 -22 12 48 98 -23 13 48 100 -24 14 49 103 -25 15 49 105 -26 16 50 108 -27 17 50 110 -28 18 50 113 -29 20 50 116 -30 21 51 118 -31 23 51 121 -32 24 51 124 -33 26 51 126 -34 27 51 129 -35 29 51 132 -36 31 51 134 -37 33 51 137 -38 35 51 140 -39 37 51 142 -40 39 51 144 -41 41 51 147 -42 43 51 149 -43 46 51 151 -44 48 51 153 -45 50 51 154 -46 53 50 156 -47 55 51 157 -48 57 51 157 -49 59 51 158 -50 61 51 159 -51 63 51 159 -52 65 52 159 -53 67 52 159 -54 69 53 159 -55 71 53 159 -56 73 54 159 -57 74 54 158 -58 76 55 158 -59 78 55 158 -60 79 56 157 -61 81 57 157 -62 83 57 156 -63 84 58 156 -64 86 59 156 -65 87 59 155 -66 89 60 155 -67 90 61 154 -68 92 61 154 -69 93 62 153 -70 95 63 153 -71 96 64 152 -72 97 64 152 -73 99 65 151 -74 100 66 151 -75 102 66 150 -76 103 67 150 -77 104 67 149 -78 106 68 149 -79 107 69 148 -80 108 69 148 -81 110 70 148 -82 111 71 147 -83 112 71 147 -84 114 72 146 -85 115 73 146 -86 116 73 146 -87 118 74 145 -88 119 74 145 -89 121 75 144 -90 122 76 144 -91 123 76 144 -92 125 77 143 -93 126 77 143 -94 127 78 143 -95 129 78 142 -96 130 79 142 -97 131 80 142 -98 133 80 142 -99 134 81 141 -100 135 81 141 -101 137 82 141 -102 138 82 140 -103 140 83 140 -104 141 83 140 -105 142 84 139 -106 144 84 139 -107 145 85 139 -108 147 85 138 -109 148 86 138 -110 150 86 138 -111 151 87 137 -112 152 87 137 -113 154 88 136 -114 155 88 136 -115 157 89 136 -116 158 89 135 -117 160 90 135 -118 161 90 134 -119 163 91 134 -120 164 91 133 -121 166 92 133 -122 167 92 133 -123 169 93 132 -124 170 93 131 -125 172 93 131 -126 173 94 130 -127 175 94 130 -128 176 95 129 -129 178 95 129 -130 179 96 128 -131 181 96 127 -132 182 97 127 -133 184 97 126 -134 185 97 125 -135 187 98 124 -136 188 98 124 -137 190 99 123 -138 191 99 122 -139 193 100 121 -140 194 100 120 -141 196 101 120 -142 197 101 119 -143 199 102 118 -144 200 102 117 -145 202 103 116 -146 203 103 115 -147 205 104 114 -148 206 104 113 -149 207 105 112 -150 209 105 111 -151 210 106 110 -152 212 107 109 -153 213 107 108 -154 214 108 107 -155 216 108 105 -156 217 109 104 -157 219 110 103 -158 220 110 102 -159 221 111 101 -160 222 112 100 -161 224 112 98 -162 225 113 97 -163 226 114 96 -164 227 115 95 -165 229 116 93 -166 230 116 92 -167 231 117 91 -168 232 118 90 -169 233 119 88 -170 234 120 87 -171 235 121 86 -172 236 122 85 -173 237 123 83 -174 238 124 82 -175 239 125 81 -176 240 126 80 -177 241 127 79 -178 241 128 78 -179 242 130 76 -180 243 131 75 -181 243 132 74 -182 244 133 73 -183 245 135 72 -184 245 136 71 -185 246 137 70 -186 246 139 69 -187 247 140 69 -188 247 141 68 -189 248 143 67 -190 248 144 66 -191 249 146 65 -192 249 147 65 -193 249 148 64 -194 250 150 63 -195 250 151 63 -196 250 153 62 -197 250 154 62 -198 250 156 62 -199 251 157 61 -200 251 159 61 -201 251 161 61 -202 251 162 60 -203 251 164 60 -204 251 165 60 -205 251 167 60 -206 251 168 60 -207 251 170 60 -208 251 172 60 -209 251 173 60 -210 251 175 60 -211 251 176 60 -212 251 178 60 -213 251 180 60 -214 251 181 61 -215 251 183 61 -216 250 184 61 -217 250 186 62 -218 250 188 62 -219 250 189 62 -220 250 191 63 -221 249 193 63 -222 249 194 64 -223 249 196 64 -224 249 198 65 -225 248 199 65 -226 248 201 66 -227 248 203 67 -228 247 204 67 -229 247 206 68 -230 246 208 69 -231 246 209 69 -232 246 211 70 -233 245 213 71 -234 245 214 72 -235 244 216 72 -236 244 218 73 -237 243 219 74 -238 243 221 75 -239 242 223 76 -240 242 224 77 -241 241 226 77 -242 241 228 78 -243 240 229 79 -244 239 231 80 -245 239 233 81 -246 238 234 82 -247 237 236 83 -248 237 238 84 -249 236 240 85 -250 235 241 86 -251 235 243 86 -252 234 245 87 -253 233 246 88 -254 232 248 89 -255 231 250 90 diff --git a/src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Turbid.lut b/src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Turbid.lut deleted file mode 100644 index d4454fd08..000000000 --- a/src/main/resources/fiji/plugin/trackmate/gui/displaysettings/luts/Turbid.lut +++ /dev/null @@ -1,257 +0,0 @@ -Index Red Green Blue -0 34 30 27 -1 35 31 27 -2 36 31 28 -3 37 32 28 -4 38 33 29 -5 39 33 29 -6 40 34 30 -7 41 35 30 -8 42 35 31 -9 43 36 31 -10 44 37 31 -11 45 37 32 -12 46 38 32 -13 47 39 33 -14 48 39 33 -15 49 40 34 -16 50 40 34 -17 51 41 35 -18 52 42 35 -19 53 42 36 -20 54 43 36 -21 55 44 36 -22 56 44 37 -23 57 45 37 -24 58 45 38 -25 59 46 38 -26 60 47 39 -27 61 47 39 -28 62 48 39 -29 63 49 40 -30 64 49 40 -31 65 50 41 -32 66 50 41 -33 67 51 41 -34 68 52 42 -35 69 52 42 -36 70 53 42 -37 71 53 43 -38 72 54 43 -39 73 55 44 -40 74 55 44 -41 75 56 44 -42 76 56 45 -43 77 57 45 -44 78 58 45 -45 79 58 46 -46 80 59 46 -47 81 59 46 -48 82 60 47 -49 83 60 47 -50 84 61 47 -51 85 62 48 -52 86 62 48 -53 87 63 48 -54 88 63 49 -55 89 64 49 -56 90 65 49 -57 92 65 49 -58 93 66 50 -59 94 66 50 -60 95 67 50 -61 96 68 51 -62 97 68 51 -63 98 69 51 -64 99 69 51 -65 100 70 52 -66 101 71 52 -67 102 71 52 -68 103 72 52 -69 104 72 53 -70 105 73 53 -71 106 74 53 -72 107 74 53 -73 108 75 53 -74 109 75 54 -75 110 76 54 -76 111 76 54 -77 112 77 54 -78 113 78 54 -79 114 78 55 -80 115 79 55 -81 116 80 55 -82 117 80 55 -83 119 81 55 -84 120 81 55 -85 121 82 55 -86 122 83 56 -87 123 83 56 -88 124 84 56 -89 125 85 56 -90 126 85 56 -91 127 86 56 -92 128 86 56 -93 129 87 56 -94 130 88 57 -95 131 88 57 -96 132 89 57 -97 133 90 57 -98 134 90 57 -99 135 91 57 -100 136 92 57 -101 137 92 57 -102 138 93 57 -103 139 94 57 -104 140 94 57 -105 141 95 57 -106 142 96 57 -107 142 97 58 -108 143 97 58 -109 144 98 58 -110 145 99 58 -111 146 99 58 -112 147 100 58 -113 148 101 58 -114 149 102 58 -115 150 102 58 -116 151 103 58 -117 152 104 58 -118 153 105 58 -119 154 105 58 -120 154 106 58 -121 155 107 58 -122 156 108 58 -123 157 108 58 -124 158 109 58 -125 159 110 59 -126 160 111 59 -127 161 111 59 -128 161 112 59 -129 162 113 59 -130 163 114 59 -131 164 115 59 -132 165 116 59 -133 166 116 59 -134 166 117 59 -135 167 118 59 -136 168 119 60 -137 169 120 60 -138 169 121 60 -139 170 121 60 -140 171 122 60 -141 172 123 60 -142 173 124 60 -143 173 125 61 -144 174 126 61 -145 175 127 61 -146 175 128 61 -147 176 129 61 -148 177 129 62 -149 178 130 62 -150 178 131 62 -151 179 132 62 -152 180 133 63 -153 180 134 63 -154 181 135 63 -155 182 136 64 -156 182 137 64 -157 183 138 64 -158 184 139 65 -159 184 140 65 -160 185 141 66 -161 185 142 66 -162 186 143 66 -163 187 144 67 -164 187 145 67 -165 188 146 68 -166 188 147 68 -167 189 148 69 -168 190 149 69 -169 190 150 70 -170 191 151 71 -171 191 152 71 -172 192 153 72 -173 192 154 73 -174 193 155 73 -175 193 156 74 -176 194 157 75 -177 194 158 75 -178 195 159 76 -179 195 160 77 -180 196 161 78 -181 196 162 78 -182 197 163 79 -183 197 164 80 -184 198 165 81 -185 198 167 82 -186 199 168 83 -187 199 169 84 -188 200 170 84 -189 200 171 85 -190 201 172 86 -191 201 173 87 -192 202 174 88 -193 202 175 89 -194 202 176 90 -195 203 177 91 -196 203 178 92 -197 204 180 94 -198 204 181 95 -199 205 182 96 -200 205 183 97 -201 206 184 98 -202 206 185 99 -203 206 186 100 -204 207 187 101 -205 207 188 102 -206 208 189 104 -207 208 191 105 -208 209 192 106 -209 209 193 107 -210 210 194 108 -211 210 195 110 -212 210 196 111 -213 211 197 112 -214 211 198 113 -215 212 199 115 -216 212 201 116 -217 213 202 117 -218 213 203 119 -219 214 204 120 -220 214 205 121 -221 215 206 122 -222 215 207 124 -223 216 208 125 -224 216 210 126 -225 217 211 128 -226 217 212 129 -227 217 213 130 -228 218 214 132 -229 218 215 133 -230 219 216 135 -231 219 218 136 -232 220 219 137 -233 220 220 139 -234 221 221 140 -235 221 222 142 -236 222 223 143 -237 222 224 144 -238 223 226 146 -239 223 227 147 -240 224 228 149 -241 225 229 150 -242 225 230 152 -243 226 231 153 -244 226 232 155 -245 227 234 156 -246 227 235 157 -247 228 236 159 -248 228 237 160 -249 229 238 162 -250 229 239 163 -251 230 241 165 -252 231 242 166 -253 231 243 168 -254 232 244 169 -255 232 245 171 From e7c4186657c557e232b4ab90d94abff34e1c8460 Mon Sep 17 00:00:00 2001 From: Jean-Yves Tinevez Date: Fri, 7 Aug 2026 15:08:18 +0200 Subject: [PATCH 11/11] Depend on config-ui 0.0.1 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index 3e2b2eb82..716d93577 100644 --- a/pom.xml +++ b/pom.xml @@ -200,7 +200,7 @@ org.scijava config-ui - 0.0.1-SNAPSHOT + 0.0.1