├── .kernel ├── ext ├── Contents │ ├── PkgInfo │ ├── Resources │ │ └── icy.icns │ └── Info.plist ├── icy.exe └── icy ├── src └── main │ ├── resources │ ├── icon │ │ ├── alpha │ │ │ ├── roi.png │ │ │ ├── roi_box.png │ │ │ ├── roi_area.png │ │ │ ├── roi_line.png │ │ │ ├── roi_oval.png │ │ │ ├── roi_point.png │ │ │ ├── roi_cylinder.png │ │ │ ├── roi_polygon.png │ │ │ ├── roi_polyline.png │ │ │ ├── roi_rectangle.png │ │ │ └── roi_flat_polygon3D.png │ │ ├── png │ │ │ └── icy_macos.png │ │ └── svg │ │ │ ├── mono │ │ │ ├── null.svg │ │ │ ├── remove.svg │ │ │ ├── north_west.svg │ │ │ ├── south_east.svg │ │ │ ├── south_west.svg │ │ │ ├── east.svg │ │ │ ├── north_east.svg │ │ │ ├── south.svg │ │ │ ├── west.svg │ │ │ ├── keyboard_arrow_down.svg │ │ │ ├── keyboard_arrow_left.svg │ │ │ ├── keyboard_arrow_right.svg │ │ │ ├── keyboard_arrow_up.svg │ │ │ ├── north.svg │ │ │ ├── rectangle.svg │ │ │ ├── last_page.svg │ │ │ ├── first_page.svg │ │ │ ├── clear_all.svg │ │ │ ├── skip_next.svg │ │ │ ├── skip_previous.svg │ │ │ ├── close.svg │ │ │ ├── pentagon.svg │ │ │ ├── vertical_align_top.svg │ │ │ ├── flag.svg │ │ │ ├── flash_on.svg │ │ │ ├── unfold_less.svg │ │ │ ├── unfold_more.svg │ │ │ ├── format_align_left.svg │ │ │ ├── arrow_up.svg │ │ │ ├── format_align_justify.svg │ │ │ ├── format_align_center.svg │ │ │ ├── format_align_right.svg │ │ │ ├── layers.svg │ │ │ ├── repeat.svg │ │ │ ├── crop.svg │ │ │ ├── arrow_down.svg │ │ │ ├── arrow_left.svg │ │ │ ├── arrow_right.svg │ │ │ ├── flash_off.svg │ │ │ ├── undo.svg │ │ │ ├── redo.svg │ │ │ ├── star.svg │ │ │ ├── view_stream.svg │ │ │ ├── check.svg │ │ │ ├── open_in_new.svg │ │ │ ├── file_open.svg │ │ │ ├── invert_colors.svg │ │ │ ├── delete.svg │ │ │ ├── warning.svg │ │ │ ├── videocam.svg │ │ │ ├── view_column.svg │ │ │ ├── edit.svg │ │ │ ├── image.svg │ │ │ ├── point_scan.svg │ │ │ ├── drag_pan.svg │ │ │ ├── delete_sweep.svg │ │ │ ├── description.svg │ │ │ ├── bolt.svg │ │ │ ├── file_save.svg │ │ │ ├── filter_none.svg │ │ │ ├── layers_clear.svg │ │ │ ├── picture_in_picture.svg │ │ │ ├── content_copy.svg │ │ │ ├── note_add.svg │ │ │ ├── zoom_out_map.svg │ │ │ ├── view_quilt.svg │ │ │ ├── terminal.svg │ │ │ ├── dashboard.svg │ │ │ ├── ruler.svg │ │ │ ├── filter_1.svg │ │ │ ├── search.svg │ │ │ ├── filter_7.svg │ │ │ ├── image_aspect_ratio.svg │ │ │ ├── repeat_on.svg │ │ │ ├── laps.svg │ │ │ ├── photo_library.svg │ │ │ ├── save.svg │ │ │ ├── switch_access_2.svg │ │ │ ├── filter_4.svg │ │ │ ├── widgets.svg │ │ │ ├── view_module.svg │ │ │ ├── zoom_out.svg │ │ │ ├── folder.svg │ │ │ ├── notifications.svg │ │ │ ├── power_settings_new.svg │ │ │ ├── deployed_code.svg │ │ │ ├── replay.svg │ │ │ ├── radio_button_unchecked.svg │ │ │ ├── zoom_in.svg │ │ │ ├── filter_5.svg │ │ │ ├── play_circle.svg │ │ │ ├── stop_circle.svg │ │ │ ├── history.svg │ │ │ ├── update.svg │ │ │ ├── device_reset.svg │ │ │ ├── circle.svg │ │ │ ├── filter_2.svg │ │ │ ├── grid_on.svg │ │ │ ├── pause_circle.svg │ │ │ ├── image_resize.svg │ │ │ ├── folder_open.svg │ │ │ ├── recenter.svg │ │ │ ├── filter_3.svg │ │ │ ├── grid_off.svg │ │ │ ├── picture_add.svg │ │ │ ├── lock_open.svg │ │ │ ├── radio_button_partial.svg │ │ │ ├── rotate_left.svg │ │ │ ├── filter_6.svg │ │ │ ├── filter_9.svg │ │ │ ├── rotate_right.svg │ │ │ ├── add.svg │ │ │ ├── lock.svg │ │ │ ├── circle_fill.svg │ │ │ ├── photo_camera.svg │ │ │ ├── picture_metadata.svg │ │ │ ├── camera_roll.svg │ │ │ ├── notifications_unread.svg │ │ │ ├── roi_point.svg │ │ │ ├── image_broken.svg │ │ │ ├── bracket_left.svg │ │ │ ├── keyboard.svg │ │ │ ├── roi_polygon.svg │ │ │ ├── theme.svg │ │ │ ├── bracket_right.svg │ │ │ ├── radio_button_checked.svg │ │ │ ├── error.svg │ │ │ ├── info.svg │ │ │ ├── filter_9_plus.svg │ │ │ ├── notifications_important.svg │ │ │ ├── hourglass.svg │ │ │ ├── visibility.svg │ │ │ ├── theme_dark.svg │ │ │ ├── center_focus_strong.svg │ │ │ ├── export_notes.svg │ │ │ ├── roi_polyline.svg │ │ │ ├── my_location.svg │ │ │ ├── filter_8.svg │ │ │ ├── save_as.svg │ │ │ ├── update_disabled.svg │ │ │ ├── roi_ellipse.svg │ │ │ ├── roi_line.svg │ │ │ ├── timeline.svg │ │ │ ├── check_circle.svg │ │ │ ├── extension.svg │ │ │ ├── roi_rectangle.svg │ │ │ ├── stroke_full.svg │ │ │ ├── tv_options_input_settings.svg │ │ │ ├── indeterminate_question.svg │ │ │ ├── cut.svg │ │ │ ├── visibility_off.svg │ │ │ ├── theme_light.svg │ │ │ ├── help.svg │ │ │ ├── bug_report.svg │ │ │ ├── camera.svg │ │ │ ├── handyman.svg │ │ │ ├── group_work.svg │ │ │ ├── line.svg │ │ │ ├── point.svg │ │ │ ├── shading.svg │ │ │ ├── database.svg │ │ │ ├── settings.svg │ │ │ ├── gesture_select.svg │ │ │ ├── 3d_axis.svg │ │ │ ├── settings_video_camera.svg │ │ │ ├── roi_boolean_substract.svg │ │ │ ├── grain.svg │ │ │ ├── settings_photo_camera.svg │ │ │ ├── roi_area.svg │ │ │ ├── roi_boolean.svg │ │ │ ├── roi_boolean_or.svg │ │ │ ├── union.svg │ │ │ ├── cube_slice.svg │ │ │ ├── roi_boolean_xor.svg │ │ │ ├── magic_wand.svg │ │ │ ├── convert_shape.svg │ │ │ ├── draw_abstract.svg │ │ │ ├── roi_boolean_and.svg │ │ │ └── 3d_box_bounds.svg │ │ │ └── color │ │ │ ├── extension_default.svg │ │ │ └── transparency.svg │ ├── image │ │ ├── splash │ │ │ ├── 0.png │ │ │ ├── 1.png │ │ │ ├── 10.png │ │ │ ├── 11.png │ │ │ ├── 12.png │ │ │ ├── 13.png │ │ │ ├── 14.png │ │ │ ├── 15.png │ │ │ ├── 2.png │ │ │ ├── 3.png │ │ │ ├── 4.png │ │ │ ├── 5.png │ │ │ ├── 6.png │ │ │ ├── 7.png │ │ │ ├── 8.png │ │ │ └── 9.png │ │ └── help │ │ │ ├── icy_prefs.png │ │ │ ├── main_menu.png │ │ │ ├── ij_detached.jpg │ │ │ ├── magic_wand.png │ │ │ ├── virtual_mode.jpg │ │ │ ├── menubar_macOS.png │ │ │ └── viewer_virtual.jpg │ ├── fonts │ │ ├── JetBrainsMono-Bold.ttf │ │ └── JetBrainsMono-Medium.ttf │ └── log4j2.properties │ ├── java │ └── org │ │ └── bioimageanalysis │ │ ├── icy │ │ ├── gui │ │ │ ├── preferences │ │ │ │ ├── ExtensionLocalPreferencePanel.java │ │ │ │ └── ExtensionListPreferencePanel.java │ │ │ ├── menu │ │ │ │ └── MenuCallback.java │ │ │ ├── listener │ │ │ │ ├── SkinChangeListener.java │ │ │ │ ├── ROIToolChangeListener.java │ │ │ │ ├── GlobalROIListener.java │ │ │ │ ├── GlobalViewerListener.java │ │ │ │ └── GlobalOverlayListener.java │ │ │ ├── canvas │ │ │ │ ├── IcyCanvasListener.java │ │ │ │ └── CanvasLayerListener.java │ │ │ ├── viewer │ │ │ │ ├── ViewerListener.java │ │ │ │ └── ViewerAdapter.java │ │ │ ├── undo │ │ │ │ ├── IcyUndoManagerListener.java │ │ │ │ ├── IcyUndoableEditEvent.java │ │ │ │ ├── IcyUndoableEdit.java │ │ │ │ └── IcyUndoableEditListener.java │ │ │ └── toolbar │ │ │ │ └── TaskProgress.java │ │ ├── extension │ │ │ ├── plugin │ │ │ │ ├── annotation_ │ │ │ │ │ ├── ROIPoints.java │ │ │ │ │ ├── ROIType.java │ │ │ │ │ ├── IcyPluginName.java │ │ │ │ │ ├── IcyROIPlugin.java │ │ │ │ │ ├── IcyPluginDescription.java │ │ │ │ │ └── IcyPluginIcon.java │ │ │ │ ├── classloader │ │ │ │ │ └── ResourceType.java │ │ │ │ ├── interface_ │ │ │ │ │ ├── PluginUndoable.java │ │ │ │ │ ├── PluginLibrary.java │ │ │ │ │ ├── PluginScriptFactory.java │ │ │ │ │ ├── PluginNoEDTConstructor.java │ │ │ │ │ └── PluginSearchProvider.java │ │ │ │ ├── abstract_ │ │ │ │ │ ├── PluginActionable.java │ │ │ │ │ ├── PluginSequenceExporter.java │ │ │ │ │ ├── PluginSequenceFileExporter.java │ │ │ │ │ ├── PluginImporter.java │ │ │ │ │ ├── PluginSequenceImporter.java │ │ │ │ │ └── PluginFileImporter.java │ │ │ │ └── property │ │ │ │ │ ├── StringProperty.java │ │ │ │ │ └── NumberSelectionProperty.java │ │ │ └── abstract_ │ │ │ │ └── Extension.java │ │ ├── model │ │ │ ├── swimmingPool │ │ │ │ ├── SwimmingPoolEventType.java │ │ │ │ ├── SwimmingPoolListener.java │ │ │ │ └── SwimmingPoolEvent.java │ │ │ ├── lut │ │ │ │ └── LUTListener.java │ │ │ ├── roi │ │ │ │ ├── ROIListener.java │ │ │ │ └── descriptor │ │ │ │ │ └── IntensityDescriptorInfos.java │ │ │ ├── colormap │ │ │ │ └── IcyColorMapListener.java │ │ │ ├── image │ │ │ │ ├── IcyBufferedImageListener.java │ │ │ │ └── IntensityInfo.java │ │ │ ├── colormodel │ │ │ │ └── IcyColorModelListener.java │ │ │ ├── colorspace │ │ │ │ └── IcyColorSpaceListener.java │ │ │ ├── overlay │ │ │ │ ├── OverlayListener.java │ │ │ │ └── VtkPainter.java │ │ │ ├── sequence │ │ │ │ ├── SequenceCacheManager.java │ │ │ │ ├── SequenceAdapter.java │ │ │ │ ├── SequenceListener.java │ │ │ │ └── DimensionId.java │ │ │ └── cache │ │ │ │ └── CacheException.java │ │ ├── system │ │ │ ├── MMJUtil.java │ │ │ └── preferences │ │ │ │ └── PluginOnlinePreferences.java │ │ ├── io │ │ │ ├── yaml │ │ │ │ ├── YAMLPersistent.java │ │ │ │ └── YAMLUtil.java │ │ │ └── xml │ │ │ │ └── XMLPersistent.java │ │ ├── common │ │ │ ├── math │ │ │ │ ├── ScalerListener.java │ │ │ │ └── FPSMeter.java │ │ │ ├── collection │ │ │ │ └── list │ │ │ │ │ └── RecentListListener.java │ │ │ └── listener │ │ │ │ ├── NotifyListener.java │ │ │ │ ├── ChangeListener.java │ │ │ │ └── ProgressListener.java │ │ └── network │ │ │ └── search │ │ │ └── SearchResultConsumer.java │ │ └── extension │ │ └── kernel │ │ └── filtering │ │ └── convolution │ │ ├── Axis.java │ │ ├── IKernel1D.java │ │ ├── IKernel.java │ │ └── ConvolutionException.java │ ├── java21 │ └── org │ │ └── bioimageanalysis │ │ └── icy │ │ └── system │ │ └── MMJUtil.java │ └── java25 │ └── org │ └── bioimageanalysis │ └── icy │ └── system │ └── MMJUtil.java └── .gitignore /.kernel: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /ext/Contents/PkgInfo: -------------------------------------------------------------------------------- 1 | APPLIcy_ -------------------------------------------------------------------------------- /ext/icy.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icy-imaging/icy/HEAD/ext/icy.exe -------------------------------------------------------------------------------- /ext/Contents/Resources/icy.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icy-imaging/icy/HEAD/ext/Contents/Resources/icy.icns -------------------------------------------------------------------------------- /src/main/resources/icon/alpha/roi.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icy-imaging/icy/HEAD/src/main/resources/icon/alpha/roi.png -------------------------------------------------------------------------------- /src/main/resources/image/splash/0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icy-imaging/icy/HEAD/src/main/resources/image/splash/0.png -------------------------------------------------------------------------------- /src/main/resources/image/splash/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icy-imaging/icy/HEAD/src/main/resources/image/splash/1.png -------------------------------------------------------------------------------- /src/main/resources/image/splash/10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icy-imaging/icy/HEAD/src/main/resources/image/splash/10.png -------------------------------------------------------------------------------- /src/main/resources/image/splash/11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icy-imaging/icy/HEAD/src/main/resources/image/splash/11.png -------------------------------------------------------------------------------- /src/main/resources/image/splash/12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icy-imaging/icy/HEAD/src/main/resources/image/splash/12.png -------------------------------------------------------------------------------- /src/main/resources/image/splash/13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icy-imaging/icy/HEAD/src/main/resources/image/splash/13.png -------------------------------------------------------------------------------- /src/main/resources/image/splash/14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icy-imaging/icy/HEAD/src/main/resources/image/splash/14.png -------------------------------------------------------------------------------- /src/main/resources/image/splash/15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icy-imaging/icy/HEAD/src/main/resources/image/splash/15.png -------------------------------------------------------------------------------- /src/main/resources/image/splash/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icy-imaging/icy/HEAD/src/main/resources/image/splash/2.png -------------------------------------------------------------------------------- /src/main/resources/image/splash/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icy-imaging/icy/HEAD/src/main/resources/image/splash/3.png -------------------------------------------------------------------------------- /src/main/resources/image/splash/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icy-imaging/icy/HEAD/src/main/resources/image/splash/4.png -------------------------------------------------------------------------------- /src/main/resources/image/splash/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icy-imaging/icy/HEAD/src/main/resources/image/splash/5.png -------------------------------------------------------------------------------- /src/main/resources/image/splash/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icy-imaging/icy/HEAD/src/main/resources/image/splash/6.png -------------------------------------------------------------------------------- /src/main/resources/image/splash/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icy-imaging/icy/HEAD/src/main/resources/image/splash/7.png -------------------------------------------------------------------------------- /src/main/resources/image/splash/8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icy-imaging/icy/HEAD/src/main/resources/image/splash/8.png -------------------------------------------------------------------------------- /src/main/resources/image/splash/9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icy-imaging/icy/HEAD/src/main/resources/image/splash/9.png -------------------------------------------------------------------------------- /src/main/resources/icon/alpha/roi_box.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icy-imaging/icy/HEAD/src/main/resources/icon/alpha/roi_box.png -------------------------------------------------------------------------------- /src/main/resources/icon/png/icy_macos.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icy-imaging/icy/HEAD/src/main/resources/icon/png/icy_macos.png -------------------------------------------------------------------------------- /src/main/resources/icon/alpha/roi_area.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icy-imaging/icy/HEAD/src/main/resources/icon/alpha/roi_area.png -------------------------------------------------------------------------------- /src/main/resources/icon/alpha/roi_line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icy-imaging/icy/HEAD/src/main/resources/icon/alpha/roi_line.png -------------------------------------------------------------------------------- /src/main/resources/icon/alpha/roi_oval.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icy-imaging/icy/HEAD/src/main/resources/icon/alpha/roi_oval.png -------------------------------------------------------------------------------- /src/main/resources/icon/alpha/roi_point.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icy-imaging/icy/HEAD/src/main/resources/icon/alpha/roi_point.png -------------------------------------------------------------------------------- /src/main/resources/image/help/icy_prefs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icy-imaging/icy/HEAD/src/main/resources/image/help/icy_prefs.png -------------------------------------------------------------------------------- /src/main/resources/image/help/main_menu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icy-imaging/icy/HEAD/src/main/resources/image/help/main_menu.png -------------------------------------------------------------------------------- /src/main/resources/icon/alpha/roi_cylinder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icy-imaging/icy/HEAD/src/main/resources/icon/alpha/roi_cylinder.png -------------------------------------------------------------------------------- /src/main/resources/icon/alpha/roi_polygon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icy-imaging/icy/HEAD/src/main/resources/icon/alpha/roi_polygon.png -------------------------------------------------------------------------------- /src/main/resources/icon/alpha/roi_polyline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icy-imaging/icy/HEAD/src/main/resources/icon/alpha/roi_polyline.png -------------------------------------------------------------------------------- /src/main/resources/image/help/ij_detached.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icy-imaging/icy/HEAD/src/main/resources/image/help/ij_detached.jpg -------------------------------------------------------------------------------- /src/main/resources/image/help/magic_wand.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icy-imaging/icy/HEAD/src/main/resources/image/help/magic_wand.png -------------------------------------------------------------------------------- /src/main/resources/image/help/virtual_mode.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icy-imaging/icy/HEAD/src/main/resources/image/help/virtual_mode.jpg -------------------------------------------------------------------------------- /src/main/resources/fonts/JetBrainsMono-Bold.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icy-imaging/icy/HEAD/src/main/resources/fonts/JetBrainsMono-Bold.ttf -------------------------------------------------------------------------------- /src/main/resources/icon/alpha/roi_rectangle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icy-imaging/icy/HEAD/src/main/resources/icon/alpha/roi_rectangle.png -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/null.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /src/main/resources/image/help/menubar_macOS.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icy-imaging/icy/HEAD/src/main/resources/image/help/menubar_macOS.png -------------------------------------------------------------------------------- /src/main/resources/image/help/viewer_virtual.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icy-imaging/icy/HEAD/src/main/resources/image/help/viewer_virtual.jpg -------------------------------------------------------------------------------- /src/main/resources/fonts/JetBrainsMono-Medium.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icy-imaging/icy/HEAD/src/main/resources/fonts/JetBrainsMono-Medium.ttf -------------------------------------------------------------------------------- /src/main/resources/icon/alpha/roi_flat_polygon3D.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/icy-imaging/icy/HEAD/src/main/resources/icon/alpha/roi_flat_polygon3D.png -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/remove.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/north_west.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/south_east.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/south_west.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/east.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/north_east.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/south.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/west.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/keyboard_arrow_down.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/keyboard_arrow_left.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/keyboard_arrow_right.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/keyboard_arrow_up.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/north.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/rectangle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/last_page.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/first_page.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/clear_all.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/skip_next.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/skip_previous.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/close.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/pentagon.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/vertical_align_top.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/flag.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/flash_on.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/unfold_less.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/unfold_more.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/format_align_left.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/arrow_up.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/format_align_justify.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/format_align_center.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/format_align_right.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/layers.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/repeat.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/crop.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/arrow_down.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/arrow_left.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/arrow_right.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/flash_off.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/undo.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/redo.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/star.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/view_stream.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/check.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/open_in_new.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/file_open.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/invert_colors.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/delete.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/warning.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/videocam.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/view_column.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/edit.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/image.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/point_scan.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/drag_pan.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/delete_sweep.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/description.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/bolt.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/file_save.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/filter_none.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/layers_clear.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/picture_in_picture.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/content_copy.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/note_add.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/zoom_out_map.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/view_quilt.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/terminal.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/dashboard.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/ruler.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/filter_1.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/search.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/filter_7.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/image_aspect_ratio.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/repeat_on.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/laps.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/photo_library.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/save.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/switch_access_2.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/filter_4.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/widgets.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/view_module.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/zoom_out.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/folder.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/notifications.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/power_settings_new.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/deployed_code.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/replay.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/radio_button_unchecked.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/zoom_in.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/filter_5.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/play_circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/stop_circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/history.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/update.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/device_reset.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/circle.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 12 | 13 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/filter_2.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/grid_on.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/pause_circle.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/image_resize.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/folder_open.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/recenter.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/filter_3.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/grid_off.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/picture_add.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/lock_open.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/radio_button_partial.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/rotate_left.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/filter_6.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/filter_9.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/rotate_right.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/add.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 13 | + 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/lock.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/circle_fill.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 13 | 14 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/photo_camera.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/picture_metadata.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/camera_roll.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/notifications_unread.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/roi_point.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | 11 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/image_broken.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/bracket_left.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 12 | 13 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/keyboard.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/roi_polygon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | 11 | 17 | 18 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/theme.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/bracket_right.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 12 | 13 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/radio_button_checked.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/error.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/info.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/filter_9_plus.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/notifications_important.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/hourglass.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/visibility.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/theme_dark.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/center_focus_strong.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/export_notes.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/roi_polyline.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | 11 | 18 | 19 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/my_location.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/filter_8.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/save_as.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/update_disabled.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/roi_ellipse.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | 11 | 20 | 21 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/roi_line.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | 11 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/timeline.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/check_circle.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/extension.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/roi_rectangle.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | 11 | 21 | 22 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/stroke_full.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/tv_options_input_settings.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/indeterminate_question.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/cut.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/visibility_off.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /build* 2 | /workspace 3 | setting.xml 4 | release/ 5 | target/ 6 | !.mvn/wrapper/maven-wrapper.jar 7 | !**/src/main/**/target/ 8 | !**/src/test/**/target/ 9 | icy.log 10 | 11 | ### IntelliJ IDEA ### 12 | .idea/ 13 | *.iws 14 | *.iml 15 | *.ipr 16 | 17 | ### Eclipse ### 18 | .apt_generated 19 | .classpath 20 | .factorypath 21 | .project 22 | .settings 23 | .springBeans 24 | .sts4-cache 25 | 26 | ### NetBeans ### 27 | /nbproject/private/ 28 | /nbbuild/ 29 | /dist/ 30 | /nbdist/ 31 | /.nb-gradle/ 32 | build/ 33 | !**/src/main/**/build/ 34 | !**/src/test/**/build/ 35 | 36 | ### VS Code ### 37 | .vscode/ 38 | 39 | ### Mac OS ### 40 | **/.DS_Store 41 | Icon? 42 | !icons 43 | !icon.svg -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/theme_light.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/help.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/bug_report.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/camera.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/handyman.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/group_work.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/line.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 12 | 14 | 16 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/point.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 12 | 14 | 16 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/shading.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/database.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/settings.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/gesture_select.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/3d_axis.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /ext/icy: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | JAVA_TARGET=21 4 | BASEDIR=$(dirname "$0") 5 | 6 | if type -p java; then 7 | echo found java executable in PATH 8 | _java=java 9 | elif [[ -n "$JAVA_HOME" ]] && [[ -x "$JAVA_HOME/bin/java" ]]; then 10 | echo found java executable in JAVA_HOME 11 | _java="$JAVA_HOME/bin/java" 12 | else 13 | echo "No java found" 14 | fi 15 | 16 | if [[ "$_java" ]]; then 17 | version=$("$_java" -version 2>&1 | awk -F '"' '/version/ {print $2}') 18 | echo "Java version: $version" 19 | first_number=$(echo "$version" | cut -d '.' -f 1) 20 | if [[ "$first_number" -ge $JAVA_TARGET ]]; then 21 | java -jar "$BASEDIR"/updater.jar 22 | else 23 | echo "Version is lower than $JAVA_TARGET. Please install Java $JAVA_TARGET or greater." 24 | fi 25 | fi 26 | 27 | 28 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/settings_video_camera.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/color/extension_default.svg: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | 12 | 16 | 20 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/roi_boolean_substract.svg: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | 16 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/grain.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/settings_photo_camera.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/gui/preferences/ExtensionLocalPreferencePanel.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2024. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | 19 | package org.bioimageanalysis.icy.gui.preferences; 20 | 21 | public class ExtensionLocalPreferencePanel { 22 | } 23 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/roi_area.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 10 | 15 | 21 | 22 | 23 | 32 | 33 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/extension/kernel/filtering/convolution/Axis.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2024. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | 19 | package org.bioimageanalysis.extension.kernel.filtering.convolution; 20 | 21 | public enum Axis 22 | { 23 | X, Y, Z 24 | } 25 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/extension/plugin/annotation_/ROIPoints.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2024. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | 19 | package org.bioimageanalysis.icy.extension.plugin.annotation_; 20 | 21 | public enum ROIPoints { 22 | ONE, 23 | TWO, 24 | INFINITE, 25 | AREA 26 | } 27 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/model/swimmingPool/SwimmingPoolEventType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2024. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | package org.bioimageanalysis.icy.model.swimmingPool; 19 | 20 | public enum SwimmingPoolEventType 21 | { 22 | ELEMENT_ADDED, ELEMENT_REMOVED 23 | } 24 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/extension/kernel/filtering/convolution/IKernel1D.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2024. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | 19 | package org.bioimageanalysis.extension.kernel.filtering.convolution; 20 | 21 | public interface IKernel1D extends IKernel 22 | { 23 | boolean isSeparable(); 24 | } 25 | -------------------------------------------------------------------------------- /src/main/resources/log4j2.properties: -------------------------------------------------------------------------------- 1 | # Direct log messages to STDOUT 2 | appender.console.type = Console 3 | appender.console.name = STDOUT 4 | appender.console.follow = true 5 | appender.console.layout.type = PatternLayout 6 | #appender.console.layout.pattern = [%highlight{%-5level}{TRACE=white}] %d{yyyy-MM-dd HH:mm:ss} [%t] %c - %msg%n%style{%throwable}{red} 7 | appender.console.layout.pattern = [%highlight{%-5level}{TRACE=white}] %msg%n%style{%throwable}{red} 8 | appender.console.filter.threshold.type = ThresholdFilter 9 | appender.console.filter.threshold.level = trace 10 | 11 | # Direct to a file 12 | appender.file.type = File 13 | appender.file.name = LOGFILE 14 | appender.file.fileName = ${sys:user.home}/.icy/icy.log 15 | appender.file.layout.type = PatternLayout 16 | appender.file.layout.pattern = [%-5level] %d{yyyy-MM-dd HH:mm:ss} [%t] %c - %msg%n%throwable 17 | appender.file.filter.threshold.type = ThresholdFilter 18 | appender.file.filter.threshold.level = warn 19 | 20 | # Root Logger 21 | rootLogger=trace, STDOUT, LOGFILE -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/gui/menu/MenuCallback.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2024. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | package org.bioimageanalysis.icy.gui.menu; 19 | 20 | import javax.swing.JMenu; 21 | 22 | /** 23 | * @author Stephane 24 | */ 25 | public interface MenuCallback 26 | { 27 | public JMenu getMenu(); 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/extension/plugin/annotation_/ROIType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2024. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | 19 | package org.bioimageanalysis.icy.extension.plugin.annotation_; 20 | 21 | /** 22 | * @author Thomas Musset 23 | */ 24 | public enum ROIType { 25 | ROI2D, 26 | ROI3D, 27 | TOOL 28 | } 29 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/roi_boolean.svg: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | 22 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/roi_boolean_or.svg: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | 22 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/union.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 12 | 13 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/system/MMJUtil.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2025. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | 19 | package org.bioimageanalysis.icy.system; 20 | 21 | public final class MMJUtil { 22 | private MMJUtil() { 23 | // 24 | } 25 | 26 | public static int getMMJVersion() { 27 | return 17; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java21/org/bioimageanalysis/icy/system/MMJUtil.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2025. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | 19 | package org.bioimageanalysis.icy.system; 20 | 21 | public final class MMJUtil { 22 | private MMJUtil() { 23 | // 24 | } 25 | 26 | public static int getMMJVersion() { 27 | return 21; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java25/org/bioimageanalysis/icy/system/MMJUtil.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2025. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | 19 | package org.bioimageanalysis.icy.system; 20 | 21 | public final class MMJUtil { 22 | private MMJUtil() { 23 | // 24 | } 25 | 26 | public static int getMMJVersion() { 27 | return 25; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/cube_slice.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/model/lut/LUTListener.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2024. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | package org.bioimageanalysis.icy.model.lut; 19 | 20 | import java.util.EventListener; 21 | 22 | public interface LUTListener extends EventListener 23 | { 24 | public void lutChanged(LUTEvent event); 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/io/yaml/YAMLPersistent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2024. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | 19 | package org.bioimageanalysis.icy.io.yaml; 20 | 21 | import org.yaml.snakeyaml.nodes.Node; 22 | 23 | public interface YAMLPersistent { 24 | public boolean loadDocument(Node node); 25 | 26 | public boolean saveDocument(Node node); 27 | } 28 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/gui/listener/SkinChangeListener.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2024. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | package org.bioimageanalysis.icy.gui.listener; 19 | 20 | import java.util.EventListener; 21 | 22 | /** 23 | * @author Thomas Musset 24 | */ 25 | public interface SkinChangeListener extends EventListener { 26 | void skinChanged(); 27 | } 28 | -------------------------------------------------------------------------------- /ext/Contents/Info.plist: -------------------------------------------------------------------------------- 1 | CFBundleName Icy CFBundleIdentifier org.bioimageanalysis.icy CFBundleVersion 1.0 CFBundleAllowMixedLocalizations false CFBundleExecutable JavaApplicationStub CFBundleDevelopmentRegion English CFBundlePackageType APPL CFBundleSignature Icy_ CFBundleGetInfoString Icy - Bio Image Analysis CFBundleInfoDictionaryVersion 7.0 CFBundleIconFile icy.icns IcyJav WorkingDirectory $APP_PACKAGE MainClass org.bioimageanalysis.updater.Main JVMVersion 1.8+ ClassPath $APP_PACKAGE/updater.jar NSHighResolutionCapable -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/extension/kernel/filtering/convolution/IKernel.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2024. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | 19 | package org.bioimageanalysis.extension.kernel.filtering.convolution; 20 | 21 | import org.bioimageanalysis.icy.model.sequence.Sequence; 22 | 23 | public interface IKernel 24 | { 25 | Sequence toSequence(); 26 | 27 | double[] getData(); 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/model/roi/ROIListener.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2024. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | package org.bioimageanalysis.icy.model.roi; 19 | 20 | import java.util.EventListener; 21 | 22 | /** 23 | * @author Stephane 24 | */ 25 | public interface ROIListener extends EventListener 26 | { 27 | public void roiChanged(ROIEvent event); 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/model/colormap/IcyColorMapListener.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2024. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | package org.bioimageanalysis.icy.model.colormap; 19 | 20 | import java.util.EventListener; 21 | 22 | /** 23 | * @author stephane 24 | */ 25 | public interface IcyColorMapListener extends EventListener 26 | { 27 | public void colorMapChanged(IcyColorMapEvent e); 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/model/roi/descriptor/IntensityDescriptorInfos.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2024. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | 19 | package org.bioimageanalysis.icy.model.roi.descriptor; 20 | 21 | public final class IntensityDescriptorInfos { 22 | public double min; 23 | public double mean; 24 | public double max; 25 | public double sum; 26 | public double deviation; 27 | } -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/common/math/ScalerListener.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2024. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | package org.bioimageanalysis.icy.common.math; 19 | 20 | import java.util.EventListener; 21 | 22 | /** 23 | * @author stephane 24 | */ 25 | public interface ScalerListener extends EventListener 26 | { 27 | public void scalerChanged(ScalerEvent e); 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/model/swimmingPool/SwimmingPoolListener.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2024. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | package org.bioimageanalysis.icy.model.swimmingPool; 19 | 20 | import java.util.EventListener; 21 | 22 | public interface SwimmingPoolListener extends EventListener 23 | { 24 | public void swimmingPoolChangeEvent(SwimmingPoolEvent event); 25 | 26 | } 27 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/gui/canvas/IcyCanvasListener.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2024. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | package org.bioimageanalysis.icy.gui.canvas; 19 | 20 | import java.util.EventListener; 21 | 22 | /** 23 | * @author Stephane 24 | */ 25 | public interface IcyCanvasListener extends EventListener 26 | { 27 | public void canvasChanged(IcyCanvasEvent event); 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/gui/viewer/ViewerListener.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2024. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | package org.bioimageanalysis.icy.gui.viewer; 19 | 20 | import java.util.EventListener; 21 | 22 | public interface ViewerListener extends EventListener 23 | { 24 | public void viewerChanged(ViewerEvent event); 25 | 26 | public void viewerClosed(Viewer viewer); 27 | } 28 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/roi_boolean_xor.svg: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/common/collection/list/RecentListListener.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright 2010-2015 Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * 6 | * Icy is free software: you can redistribute it and/or modify 7 | * it under the terms of the GNU General Public License as published by 8 | * the Free Software Foundation, either version 3 of the License, or 9 | * (at your option) any later version. 10 | * 11 | * Icy is distributed in the hope that it will be useful, 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 | * GNU General Public License for more details. 15 | * 16 | * You should have received a copy of the GNU General Public License 17 | * along with Icy. If not, see . 18 | */ 19 | package org.bioimageanalysis.icy.common.collection.list; 20 | 21 | import java.util.EventListener; 22 | 23 | /** 24 | * @author stephane 25 | */ 26 | public interface RecentListListener extends EventListener 27 | { 28 | public void RencentFileChanged(RecentListEvent e); 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/gui/canvas/CanvasLayerListener.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2024. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | package org.bioimageanalysis.icy.gui.canvas; 19 | 20 | import java.util.EventListener; 21 | 22 | /** 23 | * @author Stephane 24 | */ 25 | public interface CanvasLayerListener extends EventListener 26 | { 27 | public void canvasLayerChanged(CanvasLayerEvent event); 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/gui/undo/IcyUndoManagerListener.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2024. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | package org.bioimageanalysis.icy.gui.undo; 19 | 20 | import java.util.EventListener; 21 | 22 | /** 23 | * @author Stephane 24 | */ 25 | public interface IcyUndoManagerListener extends EventListener 26 | { 27 | public void undoManagerChanged(IcyUndoManager source); 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/model/image/IcyBufferedImageListener.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2024. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | package org.bioimageanalysis.icy.model.image; 19 | 20 | import java.util.EventListener; 21 | 22 | /** 23 | * @author Stephane 24 | */ 25 | public interface IcyBufferedImageListener extends EventListener 26 | { 27 | public void imageChanged(IcyBufferedImageEvent e); 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/extension/plugin/classloader/ResourceType.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2023. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | 19 | package org.bioimageanalysis.icy.extension.plugin.classloader; 20 | 21 | /** 22 | * Enumeration for different resource types 23 | * 24 | * @author Kamran 25 | * @author Thomas Musset 26 | */ 27 | public enum ResourceType { 28 | CLASS, XML, PROPERTIES, UNKNOWN; 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/model/colormodel/IcyColorModelListener.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2024. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | package org.bioimageanalysis.icy.model.colormodel; 19 | 20 | import java.util.EventListener; 21 | 22 | /** 23 | * @author stephane 24 | */ 25 | public interface IcyColorModelListener extends EventListener 26 | { 27 | public void colorModelChanged(IcyColorModelEvent e); 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/model/colorspace/IcyColorSpaceListener.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2024. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | package org.bioimageanalysis.icy.model.colorspace; 19 | 20 | import java.util.EventListener; 21 | 22 | /** 23 | * @author stephane 24 | */ 25 | public interface IcyColorSpaceListener extends EventListener 26 | { 27 | public void colorSpaceChanged(IcyColorSpaceEvent e); 28 | } 29 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/common/listener/NotifyListener.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2024. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | package org.bioimageanalysis.icy.common.listener; 19 | 20 | import java.util.EventListener; 21 | 22 | /** 23 | * Basic notification listener. 24 | * 25 | * @author stephane 26 | */ 27 | public interface NotifyListener extends EventListener 28 | { 29 | public void notify(Object obj); 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/gui/preferences/ExtensionListPreferencePanel.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2024. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | 19 | package org.bioimageanalysis.icy.gui.preferences; 20 | 21 | public abstract class ExtensionListPreferencePanel extends PreferencePanel { 22 | public ExtensionListPreferencePanel(final PreferenceFrame parentFrame, final String name, final String parentName) { 23 | super(parentFrame, name, parentName); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/model/overlay/OverlayListener.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2024. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | package org.bioimageanalysis.icy.model.overlay; 19 | 20 | import java.util.EventListener; 21 | 22 | /** 23 | * Overlay event listener interface. 24 | * 25 | * @author Stephane 26 | */ 27 | public interface OverlayListener extends EventListener 28 | { 29 | public void overlayChanged(OverlayEvent event); 30 | } 31 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/color/transparency.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/magic_wand.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/extension/plugin/interface_/PluginUndoable.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2023. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | 19 | package org.bioimageanalysis.icy.extension.plugin.interface_; 20 | 21 | /** 22 | * The Interface PluginUndoable. 23 | * Means the plugin has the ability to undo. 24 | * 25 | * @author Fab 26 | * @author Thomas Musset 27 | */ 28 | @Deprecated(since = "3.0.0", forRemoval = true) 29 | public interface PluginUndoable { 30 | } 31 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/model/sequence/SequenceCacheManager.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2024. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | 19 | package org.bioimageanalysis.icy.model.sequence; 20 | 21 | /** 22 | * Class responsible of handling virtual sequence.
23 | * It will load/unload Sequence data on demand avoiding to saturate memory with long timelaps for instance. 24 | * 25 | * @author Stephane 26 | */ 27 | public class SequenceCacheManager 28 | { 29 | 30 | } 31 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/convert_shape.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/io/yaml/YAMLUtil.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2024. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | 19 | package org.bioimageanalysis.icy.io.yaml; 20 | 21 | import org.yaml.snakeyaml.Yaml; 22 | import org.yaml.snakeyaml.nodes.Node; 23 | 24 | public final class YAMLUtil { 25 | public static Yaml createDocument() { 26 | return new Yaml(); 27 | } 28 | 29 | public static boolean saveDocument(Yaml yaml, Node node) { 30 | yaml.dump(node); 31 | return true; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/gui/listener/ROIToolChangeListener.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2024. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | 19 | package org.bioimageanalysis.icy.gui.listener; 20 | 21 | import org.bioimageanalysis.icy.extension.plugin.interface_.PluginROI; 22 | import org.jetbrains.annotations.NotNull; 23 | import org.jetbrains.annotations.Nullable; 24 | 25 | import java.util.EventListener; 26 | 27 | public interface ROIToolChangeListener extends EventListener { 28 | void toolChanged(@Nullable String roiTool); 29 | } 30 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/extension/plugin/annotation_/IcyPluginName.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2024. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | 19 | package org.bioimageanalysis.icy.extension.plugin.annotation_; 20 | 21 | import org.jetbrains.annotations.ApiStatus; 22 | 23 | import java.lang.annotation.*; 24 | 25 | /** 26 | * @author Thomas Musset 27 | */ 28 | @Retention(RetentionPolicy.RUNTIME) 29 | @Target(ElementType.TYPE) 30 | @Inherited 31 | @ApiStatus.Experimental 32 | public @interface IcyPluginName { 33 | String value(); 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/extension/abstract_/Extension.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2024. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | 19 | package org.bioimageanalysis.icy.extension.abstract_; 20 | 21 | import org.bioimageanalysis.icy.extension.plugin.abstract_.Plugin; 22 | import org.jetbrains.annotations.NotNull; 23 | 24 | import java.util.Set; 25 | 26 | /** 27 | * @author Thomas Musset 28 | * 29 | * This class allows to identify an extension. 30 | */ 31 | public abstract class Extension { 32 | public abstract @NotNull Set> getPlugins(); 33 | } 34 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/gui/viewer/ViewerAdapter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2024. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | package org.bioimageanalysis.icy.gui.viewer; 19 | 20 | /** 21 | * Adapter for ViewerListener interface 22 | * 23 | * @author Stephane 24 | */ 25 | public class ViewerAdapter implements ViewerListener 26 | { 27 | @Override 28 | public void viewerChanged(ViewerEvent event) 29 | { 30 | 31 | } 32 | 33 | @Override 34 | public void viewerClosed(Viewer viewer) 35 | { 36 | 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/model/cache/CacheException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2024. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | 19 | package org.bioimageanalysis.icy.model.cache; 20 | 21 | /** 22 | * @author Stephane Dallongeville 23 | * @author Thomas Musset 24 | */ 25 | public class CacheException extends Exception { 26 | public CacheException(final String message, final Throwable cause) { 27 | super(message, cause); 28 | } 29 | 30 | public CacheException(final String message) { 31 | super(message); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/draw_abstract.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/common/listener/ChangeListener.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2024. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | package org.bioimageanalysis.icy.common.listener; 19 | 20 | import org.bioimageanalysis.icy.common.event.CollapsibleEvent; 21 | 22 | /** 23 | * Common interface for change notification 24 | * 25 | * @author Stephane 26 | */ 27 | public interface ChangeListener 28 | { 29 | /** 30 | * fire changed event 31 | * @param event collapsible 32 | */ 33 | public void onChanged(CollapsibleEvent event); 34 | } 35 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/model/overlay/VtkPainter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2024. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | package org.bioimageanalysis.icy.model.overlay; 19 | 20 | import vtk.vtkProp; 21 | 22 | /** 23 | * Basic VTK painter.
24 | * Painter implementing this interface are automatically 25 | * added / removed from Canvas3D. 26 | * 27 | * @author Stephane 28 | */ 29 | public interface VtkPainter 30 | { 31 | /** 32 | * @return Returns the VTK actors for this painter. 33 | */ 34 | public vtkProp[] getProps(); 35 | } 36 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/io/xml/XMLPersistent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2024. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | package org.bioimageanalysis.icy.io.xml; 19 | 20 | import org.w3c.dom.Node; 21 | 22 | /** 23 | * @author Stephane 24 | */ 25 | public interface XMLPersistent 26 | { 27 | /** 28 | * @return LOAD 29 | * @param node node 30 | */ 31 | public boolean loadFromXML(Node node); 32 | 33 | /** 34 | * @return SAVE 35 | * @param node node 36 | */ 37 | public boolean saveToXML(Node node); 38 | 39 | } 40 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/extension/plugin/abstract_/PluginActionable.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2023. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | 19 | package org.bioimageanalysis.icy.extension.plugin.abstract_; 20 | 21 | /** 22 | * Base class for actionable Plugin.
23 | *
24 | * An actionable plugin will appear in workspace or plugin menu.
25 | * Also it should implement the "run()" method which contains the main process code. 26 | * 27 | * @author Stephane 28 | * @author Thomas Musset 29 | */ 30 | public abstract class PluginActionable extends Plugin implements Runnable { 31 | } 32 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/extension/plugin/annotation_/IcyROIPlugin.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2024. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | 19 | package org.bioimageanalysis.icy.extension.plugin.annotation_; 20 | 21 | import org.jetbrains.annotations.ApiStatus; 22 | 23 | import java.lang.annotation.*; 24 | 25 | /** 26 | * @author Thomas Musset 27 | */ 28 | @Retention(RetentionPolicy.RUNTIME) 29 | @Target(ElementType.TYPE) 30 | @Inherited 31 | @ApiStatus.Experimental 32 | public @interface IcyROIPlugin { 33 | ROIType type(); 34 | ROIPoints nbPoints() default ROIPoints.INFINITE; 35 | } 36 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/gui/undo/IcyUndoableEditEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2024. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | package org.bioimageanalysis.icy.gui.undo; 19 | 20 | import javax.swing.event.UndoableEditEvent; 21 | 22 | /** 23 | * @author Stephane 24 | */ 25 | public class IcyUndoableEditEvent extends UndoableEditEvent 26 | { 27 | /** 28 | * 29 | */ 30 | private static final long serialVersionUID = 1852166528073863792L; 31 | 32 | public IcyUndoableEditEvent(Object source, IcyUndoableEdit edit) 33 | { 34 | super(source, edit); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/model/sequence/SequenceAdapter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2024. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | package org.bioimageanalysis.icy.model.sequence; 19 | 20 | /** 21 | * Adapter for SequenceListener interface 22 | * 23 | * @author Stephane 24 | */ 25 | public class SequenceAdapter implements SequenceListener 26 | { 27 | @Override 28 | public void sequenceChanged(SequenceEvent sequenceEvent) 29 | { 30 | 31 | } 32 | 33 | @Override 34 | public void sequenceClosed(Sequence sequence) 35 | { 36 | 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/extension/plugin/interface_/PluginLibrary.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2023. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | 19 | package org.bioimageanalysis.icy.extension.plugin.interface_; 20 | 21 | /** 22 | * Plugin Library interface.
23 | * Used to define a plugin which may contains helper methods.
24 | * Can be shared between severals plugins. 25 | * 26 | * @author Fabrice de Chaumont 27 | * @author Stephane Dallongeville 28 | * @author Thomas Musset 29 | */ 30 | @Deprecated(since = "3.0.0", forRemoval = true) 31 | public interface PluginLibrary extends PluginNoEDTConstructor { 32 | } 33 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/roi_boolean_and.svg: -------------------------------------------------------------------------------- 1 | 2 | 10 | 11 | 22 | 31 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/extension/plugin/annotation_/IcyPluginDescription.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2024. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | 19 | package org.bioimageanalysis.icy.extension.plugin.annotation_; 20 | 21 | import org.jetbrains.annotations.ApiStatus; 22 | 23 | import java.lang.annotation.*; 24 | 25 | /** 26 | * @author Thomas Musset 27 | */ 28 | @Retention(RetentionPolicy.RUNTIME) 29 | @Target(ElementType.TYPE) 30 | @Inherited 31 | @ApiStatus.Experimental 32 | public @interface IcyPluginDescription { 33 | String value(); 34 | @Deprecated String shortDesc() default ""; 35 | @Deprecated String longDesc() default ""; 36 | } 37 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/model/sequence/SequenceListener.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2024. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | package org.bioimageanalysis.icy.model.sequence; 19 | 20 | import java.util.EventListener; 21 | 22 | public interface SequenceListener extends EventListener 23 | { 24 | /** 25 | * Called when sequence has changed (type, data, metadata or property). 26 | */ 27 | public void sequenceChanged(SequenceEvent sequenceEvent); 28 | 29 | /** 30 | * Called when sequence has been closed (all viewers displaying it closed). 31 | */ 32 | public void sequenceClosed(Sequence sequence); 33 | } 34 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/extension/plugin/property/StringProperty.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2025. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | 19 | package org.bioimageanalysis.icy.extension.plugin.property; 20 | 21 | import org.jetbrains.annotations.NotNull; 22 | 23 | public final class StringProperty extends Property { 24 | public StringProperty(final @NotNull String name, final @NotNull String description, final @NotNull String defaultValue) { 25 | super(name, description, defaultValue); 26 | } 27 | 28 | public StringProperty(final @NotNull String name, final @NotNull String defaultValue) { 29 | super(name, defaultValue); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/extension/plugin/interface_/PluginScriptFactory.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2023. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | 19 | package org.bioimageanalysis.icy.extension.plugin.interface_; 20 | 21 | import javax.script.ScriptEngineFactory; 22 | 23 | /** 24 | * Plugin interface to provide scripting language factory (see {@link ScriptEngineFactory}) 25 | * 26 | * @author Stephane Dallongeville 27 | * @author Thomas Musset 28 | */ 29 | @Deprecated(since = "3.0.0", forRemoval = true) 30 | public interface PluginScriptFactory { 31 | /** 32 | * @return the {@link ScriptEngineFactory} 33 | */ 34 | ScriptEngineFactory getScriptEngineFactory(); 35 | } 36 | -------------------------------------------------------------------------------- /src/main/resources/icon/svg/mono/3d_box_bounds.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | 19 | 25 | 31 | 37 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/extension/kernel/filtering/convolution/ConvolutionException.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2024. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | 19 | package org.bioimageanalysis.extension.kernel.filtering.convolution; 20 | 21 | public class ConvolutionException extends RuntimeException 22 | { 23 | 24 | static final long serialVersionUID = -9042546074193202791L; 25 | 26 | public ConvolutionException() 27 | { 28 | super(); 29 | } 30 | 31 | public ConvolutionException(String message) 32 | { 33 | super(message); 34 | } 35 | 36 | public ConvolutionException(String message, Throwable cause) 37 | { 38 | super(message, cause); 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/model/swimmingPool/SwimmingPoolEvent.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2024. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | package org.bioimageanalysis.icy.model.swimmingPool; 19 | 20 | public class SwimmingPoolEvent 21 | { 22 | private final SwimmingObject result; 23 | private final SwimmingPoolEventType type; 24 | 25 | public SwimmingPoolEvent(SwimmingPoolEventType type, SwimmingObject result) 26 | { 27 | this.result = result; 28 | this.type = type; 29 | } 30 | 31 | public SwimmingObject getResult() 32 | { 33 | return result; 34 | } 35 | 36 | public SwimmingPoolEventType getType() 37 | { 38 | return type; 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/common/math/FPSMeter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2024. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | package org.bioimageanalysis.icy.common.math; 19 | 20 | /** 21 | * "Frame Per Second" calculator class. 22 | * 23 | * @author stephane 24 | */ 25 | public class FPSMeter extends RateMeter 26 | { 27 | /** 28 | * Update frame
29 | * Return current Frame Per Second counter 30 | */ 31 | public int update() 32 | { 33 | return (int) updateFromDelta(1); 34 | } 35 | 36 | /** 37 | * @return Frame Per Second counter 38 | */ 39 | public int getFPS() 40 | { 41 | return (int) super.getRate(); 42 | } 43 | } 44 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/extension/plugin/annotation_/IcyPluginIcon.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2024. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | 19 | package org.bioimageanalysis.icy.extension.plugin.annotation_; 20 | 21 | import org.jetbrains.annotations.ApiStatus; 22 | 23 | import java.lang.annotation.*; 24 | 25 | /** 26 | * @author Thomas Musset 27 | */ 28 | @Retention(RetentionPolicy.RUNTIME) 29 | @Target(ElementType.TYPE) 30 | @Inherited 31 | @ApiStatus.Experimental 32 | public @interface IcyPluginIcon { 33 | /** 34 | * Icon name from the icons folder (auto-generated) 35 | */ 36 | String value(); 37 | 38 | /** 39 | * Only for SVG icons. 40 | */ 41 | boolean monochrome() default false; 42 | } 43 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/extension/plugin/abstract_/PluginSequenceExporter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2023. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | 19 | package org.bioimageanalysis.icy.extension.plugin.abstract_; 20 | 21 | import org.bioimageanalysis.icy.extension.plugin.interface_.PluginNoEDTConstructor; 22 | import org.bioimageanalysis.icy.model.sequence.SequenceExporter; 23 | 24 | /** 25 | * Plugin specialized for Sequence export operation (see the {@link SequenceExporter} interface) 26 | * 27 | * @author Stephane 28 | * @author Thomas Musset 29 | * @see PluginSequenceFileExporter 30 | */ 31 | public abstract class PluginSequenceExporter extends Plugin implements SequenceExporter, PluginNoEDTConstructor { 32 | } 33 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/extension/plugin/abstract_/PluginSequenceFileExporter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2023. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | 19 | package org.bioimageanalysis.icy.extension.plugin.abstract_; 20 | 21 | import org.bioimageanalysis.icy.io.SequenceFileExporter; 22 | import org.bioimageanalysis.icy.extension.plugin.interface_.PluginNoEDTConstructor; 23 | 24 | /** 25 | * Plugin specialized for Sequence file export operation (see the {@link SequenceFileExporter} 26 | * interface) 27 | * 28 | * @author Stephane 29 | * @author Thomas Musset 30 | * @see PluginSequenceExporter 31 | */ 32 | public abstract class PluginSequenceFileExporter extends Plugin implements SequenceFileExporter, PluginNoEDTConstructor { 33 | } 34 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/model/sequence/DimensionId.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2024. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | package org.bioimageanalysis.icy.model.sequence; 19 | 20 | /** 21 | * @author Stephane 22 | */ 23 | public enum DimensionId 24 | { 25 | NULL, X, Y, C, Z, T; 26 | 27 | @Override 28 | public String toString() 29 | { 30 | switch (this) 31 | { 32 | case X: 33 | return "X"; 34 | case Y: 35 | return "Y"; 36 | case C: 37 | return "C"; 38 | case Z: 39 | return "Z"; 40 | case T: 41 | return "T"; 42 | default: 43 | return "NULL"; 44 | } 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/gui/listener/GlobalROIListener.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2024. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | 19 | /** 20 | * 21 | */ 22 | package org.bioimageanalysis.icy.gui.listener; 23 | 24 | import org.bioimageanalysis.icy.model.roi.ROI; 25 | 26 | import java.util.EventListener; 27 | 28 | /** 29 | * Global {@link ROI} listener class. 30 | * Used to listen add and remove event for all roi. 31 | * 32 | * @author Stephane 33 | */ 34 | public interface GlobalROIListener extends EventListener 35 | { 36 | /** 37 | * A ROI was just added to its first sequence 38 | */ 39 | public void roiAdded(ROI roi); 40 | 41 | /** 42 | * A ROI was just removed from its last sequence 43 | */ 44 | public void roiRemoved(ROI roi); 45 | } 46 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/gui/undo/IcyUndoableEdit.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2024. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | 19 | package org.bioimageanalysis.icy.gui.undo; 20 | 21 | import javax.swing.*; 22 | import javax.swing.undo.UndoableEdit; 23 | 24 | /** 25 | * Icy {@link UndoableEdit} interface 26 | * 27 | * @author Stephane Dallongeville 28 | * @author Thomas Musset 29 | */ 30 | public interface IcyUndoableEdit extends UndoableEdit { 31 | /** 32 | * @return Retrieve source of this edit 33 | */ 34 | Object getSource(); 35 | 36 | /** 37 | * @return the icon 38 | */ 39 | Icon getIcon(); 40 | 41 | /** 42 | * @return true if this edit can be merged with a compatible edit 43 | */ 44 | boolean isMergeable(); 45 | } -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/common/listener/ProgressListener.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2024. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | package org.bioimageanalysis.icy.common.listener; 19 | 20 | /** 21 | * Progress notification listener. 22 | * 23 | * @author Stephane 24 | */ 25 | public interface ProgressListener 26 | { 27 | /** 28 | * Notify progression of the current task 29 | * 30 | * @param position 31 | * current position of completion 32 | * @param length 33 | * final position of completion 34 | * @return false if the cancellation of the task has been requested, true otherwise 35 | */ 36 | public boolean notifyProgress(double position, double length); 37 | } 38 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/extension/plugin/interface_/PluginNoEDTConstructor.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2023. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | 19 | package org.bioimageanalysis.icy.extension.plugin.interface_; 20 | 21 | /** 22 | * This ugly hack interface exists to force the Plugin constructor to be done outside the EDT 23 | * (Event Dispatch Thread).
24 | * We need it as by default Plugin instance are created in the EDT (for historical reasons then to 25 | * preserve backward compatibility) and sometime we really want to avoid it as plugin using many 26 | * others classes make lock the EDT for severals second just with some heavy class loading work. 27 | * 28 | * @author Stephane 29 | * @author Thomas Musset 30 | */ 31 | public interface PluginNoEDTConstructor { 32 | } 33 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/gui/listener/GlobalViewerListener.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2024. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | 19 | /** 20 | * 21 | */ 22 | package org.bioimageanalysis.icy.gui.listener; 23 | 24 | import org.bioimageanalysis.icy.gui.viewer.Viewer; 25 | 26 | import java.util.EventListener; 27 | 28 | /** 29 | * Global {@link Viewer} listener class. 30 | * Used to listen open, focus and close event for all viewer. 31 | * 32 | * @author Stephane 33 | */ 34 | public interface GlobalViewerListener extends EventListener 35 | { 36 | /** 37 | * Viewer was just opened. 38 | */ 39 | public void viewerOpened(Viewer viewer); 40 | 41 | /** 42 | * Viewer was just closed. 43 | */ 44 | public void viewerClosed(Viewer viewer); 45 | 46 | } 47 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/model/image/IntensityInfo.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2024. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | package org.bioimageanalysis.icy.model.image; 19 | 20 | /** 21 | * Intensity information 22 | * 23 | * @author Stephane 24 | */ 25 | public class IntensityInfo 26 | { 27 | /** 28 | * Minimum intensity 29 | */ 30 | public double minIntensity; 31 | /** 32 | * Mean intensity 33 | */ 34 | public double meanIntensity; 35 | /** 36 | * Maximum intensity 37 | */ 38 | public double maxIntensity; 39 | 40 | public IntensityInfo() 41 | { 42 | super(); 43 | 44 | minIntensity = 0d; 45 | meanIntensity = 0d; 46 | maxIntensity = 0d; 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/extension/plugin/abstract_/PluginImporter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2023. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | 19 | package org.bioimageanalysis.icy.extension.plugin.abstract_; 20 | 21 | import org.bioimageanalysis.icy.io.Importer; 22 | import org.bioimageanalysis.icy.extension.plugin.interface_.PluginNoEDTConstructor; 23 | 24 | /** 25 | * Plugin specialized for import operation (see the {@link Importer} interface) 26 | * 27 | * @author Stephane 28 | * @author Thomas Musset 29 | * @see PluginFileImporter 30 | * @see PluginSequenceImporter 31 | * @see PluginSequenceFileImporter 32 | * @see PluginSequenceIdImporter 33 | */ 34 | public abstract class PluginImporter extends Plugin implements Importer, PluginNoEDTConstructor { 35 | } 36 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/extension/plugin/interface_/PluginSearchProvider.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2023. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | 19 | package org.bioimageanalysis.icy.extension.plugin.interface_; 20 | 21 | import org.bioimageanalysis.icy.network.search.SearchResultProducer; 22 | 23 | /** 24 | * Plugin Search Provider interface.
25 | * Used to define a plugin which provide results for the global search tool.
26 | * 27 | * @author Stephane 28 | * @author Thomas Musset 29 | */ 30 | public interface PluginSearchProvider extends PluginNoEDTConstructor { 31 | /** 32 | * @return Return the Search Provider. 33 | * @see SearchResultProducer 34 | */ 35 | Class getSearchProviderClass(); 36 | } 37 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/system/preferences/PluginOnlinePreferences.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2024. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | package org.bioimageanalysis.icy.system.preferences; 19 | 20 | /** 21 | * @author Stephane 22 | */ 23 | public class PluginOnlinePreferences 24 | { 25 | private static final String PREF_ID = "online"; 26 | 27 | /** 28 | * preferences 29 | */ 30 | private static XMLPreferences preferences; 31 | 32 | public static void load() 33 | { 34 | // load preference 35 | preferences = PluginPreferences.getPreferences().node(PREF_ID); 36 | } 37 | 38 | /** 39 | * @return the preferences 40 | */ 41 | public static XMLPreferences getPreferences() 42 | { 43 | return preferences; 44 | } 45 | 46 | } 47 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/extension/plugin/abstract_/PluginSequenceImporter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2023. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | 19 | package org.bioimageanalysis.icy.extension.plugin.abstract_; 20 | 21 | import org.bioimageanalysis.icy.extension.plugin.interface_.PluginNoEDTConstructor; 22 | import org.bioimageanalysis.icy.model.sequence.SequenceImporter; 23 | 24 | /** 25 | * Plugin specialized for Sequence import operation (see the {@link SequenceImporter} interface) 26 | * 27 | * @author Stephane 28 | * @author Thomas Musset 29 | * @see PluginImporter 30 | * @see PluginFileImporter 31 | * @see PluginSequenceFileImporter 32 | * @see PluginSequenceIdImporter 33 | */ 34 | public abstract class PluginSequenceImporter extends Plugin implements SequenceImporter, PluginNoEDTConstructor { 35 | } 36 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/gui/toolbar/TaskProgress.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2024. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | 19 | package org.bioimageanalysis.icy.gui.toolbar; 20 | 21 | import javax.swing.*; 22 | import java.awt.*; 23 | 24 | /** 25 | * @author Thomas Musset 26 | */ 27 | // TODO 28 | public class TaskProgress extends JProgressBar { 29 | public TaskProgress() { 30 | super(HORIZONTAL, 0, 100); 31 | 32 | final Dimension defaultSize = new Dimension(100, 5); 33 | 34 | setPreferredSize(defaultSize); 35 | setMinimumSize(defaultSize); 36 | setMaximumSize(defaultSize); 37 | 38 | setValue(0); 39 | //setIndeterminate(true); 40 | 41 | setToolTipText("Click to show background processes"); 42 | 43 | setVisible(false); 44 | } 45 | } 46 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/network/search/SearchResultConsumer.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2024. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | package org.bioimageanalysis.icy.network.search; 19 | 20 | /** 21 | * @author Stephane 22 | */ 23 | public interface SearchResultConsumer 24 | { 25 | /** 26 | * Notify consumer than a single result has just been modified. 27 | */ 28 | public void resultChanged(SearchResultProducer producer, SearchResult result); 29 | 30 | /** 31 | * Notify consumer than results list changed. 32 | */ 33 | public void resultsChanged(SearchResultProducer producer); 34 | 35 | /** 36 | * Notify consumer than search request completed. 37 | */ 38 | public void searchCompleted(SearchResultProducer producer); 39 | } 40 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/extension/plugin/abstract_/PluginFileImporter.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2023. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | 19 | package org.bioimageanalysis.icy.extension.plugin.abstract_; 20 | 21 | import org.bioimageanalysis.icy.io.FileImporter; 22 | import org.bioimageanalysis.icy.extension.plugin.interface_.PluginNoEDTConstructor; 23 | 24 | /** 25 | * Plugin specialized for File import operation (see the {@link FileImporter} interface) 26 | * 27 | * @author Stephane 28 | * @author Thomas Musset 29 | * @see PluginImporter 30 | * @see PluginSequenceImporter 31 | * @see PluginSequenceFileImporter 32 | * @see PluginSequenceIdImporter 33 | */ 34 | public abstract class PluginFileImporter extends Plugin implements FileImporter, PluginNoEDTConstructor { 35 | } 36 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/gui/undo/IcyUndoableEditListener.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2024. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | package org.bioimageanalysis.icy.gui.undo; 19 | 20 | import javax.swing.event.UndoableEditListener; 21 | 22 | /** 23 | * The listener interface for receiving icyUndoableEdit events. 24 | * The class that is interested in processing a icyUndoableEdit 25 | * event implements this interface, and the object created 26 | * with that class is registered with a component using the 27 | * component's addIcyUndoableEditListener method. When 28 | * the icyUndoableEdit event occurs, that object's appropriate 29 | * method is invoked. 30 | * 31 | * @author Stephane 32 | */ 33 | public interface IcyUndoableEditListener extends UndoableEditListener 34 | { 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/extension/plugin/property/NumberSelectionProperty.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2025. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | 19 | package org.bioimageanalysis.icy.extension.plugin.property; 20 | 21 | import org.jetbrains.annotations.NotNull; 22 | 23 | import java.util.List; 24 | 25 | public final class NumberSelectionProperty extends SelectionProperty { 26 | public NumberSelectionProperty(final @NotNull String name, final @NotNull String description, final @NotNull List collection, final @NotNull N defaultValue) { 27 | super(name, description, collection, defaultValue); 28 | } 29 | 30 | public NumberSelectionProperty(final @NotNull String name, final @NotNull List collection, final @NotNull N defaultValue) { 31 | super(name, collection, defaultValue); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /src/main/java/org/bioimageanalysis/icy/gui/listener/GlobalOverlayListener.java: -------------------------------------------------------------------------------- 1 | /* 2 | * Copyright (c) 2010-2024. Institut Pasteur. 3 | * 4 | * This file is part of Icy. 5 | * Icy is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License as published by 7 | * the Free Software Foundation, either version 3 of the License, or 8 | * (at your option) any later version. 9 | * 10 | * Icy is distributed in the hope that it will be useful, 11 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 | * GNU General Public License for more details. 14 | * 15 | * You should have received a copy of the GNU General Public License 16 | * along with Icy. If not, see . 17 | */ 18 | 19 | /** 20 | * 21 | */ 22 | package org.bioimageanalysis.icy.gui.listener; 23 | 24 | import org.bioimageanalysis.icy.model.overlay.Overlay; 25 | 26 | import java.util.EventListener; 27 | 28 | /** 29 | * Global {@link Overlay} listener class. 30 | * Used to listen add and remove event for all overlay. 31 | * 32 | * @author Stephane 33 | */ 34 | public interface GlobalOverlayListener extends EventListener 35 | { 36 | /** 37 | * An overlay was just added to its first sequence 38 | */ 39 | public void overlayAdded(Overlay overlay); 40 | 41 | /** 42 | * An overlay was just removed from its last sequence 43 | */ 44 | public void overlayRemoved(Overlay overlay); 45 | 46 | } 47 | --------------------------------------------------------------------------------