From 573d371b6e4b11db7ff18eafb3edc6bba3bb79f6 Mon Sep 17 00:00:00 2001
From: Mark Winter <mwinter@drexel.edu>
Date: Mon, 18 Oct 2021 13:44:09 +0200
Subject: [PATCH] Added workaround message for x-dimension issue

---
 .../src/main/java/net/leverjs/LeverscIJ.java          | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/src/ImageJ/plugin-ij/src/main/java/net/leverjs/LeverscIJ.java b/src/ImageJ/plugin-ij/src/main/java/net/leverjs/LeverscIJ.java
index 64300fb..5210482 100644
--- a/src/ImageJ/plugin-ij/src/main/java/net/leverjs/LeverscIJ.java
+++ b/src/ImageJ/plugin-ij/src/main/java/net/leverjs/LeverscIJ.java
@@ -188,18 +188,23 @@ public class LeverscIJ implements PlugInFilter
         // Keep original format around to help with conversion
         imType = image.getType();
 
-        int nslice = image.getNSlices();
-        if ( nslice <= 1 )
+        imMeta = load_metadata();
+        if ( imMeta.Dimensions[2] <= 1 )
         {
             IJ.error("Invalid Image", "Leversc does not support 2D images!");;
             return;
         }
 
+        if ( ((imMeta.NumberOfChannels*imMeta.Dimensions[0]) % 4) != 0 )
+        {
+            IJ.error(String.format("The x dimension of images must be divisible by 4.\n We are working to handle this in LEVERSC directly.\n A workaround is to pad the image's x dimension to a multiple of 4."));
+            return;
+        }
+
         int fignum = get_figunum();
         if ( fignum <= 0 )
             return;
 
-        imMeta = load_metadata();
         if ( !init_leversc(fignum) )
         {
             Path logpath = Paths.get(PlatformInfo.getUserHome(),".lever");
-- 
GitLab