changeset 31206:df8ee95752aa

imformats: moved Tiff logic to default_formats * scripts/image/imformats.m: added logic in default_formats to use Tiff functions for tiff images if available. * scripts/io/Tiff.m: removed the PKG_ADD logic in favor of the imformats logic to make the function handles valid.
author magedrifaat <magedrifaat@gmail.com>
date Sat, 03 Sep 2022 20:36:33 +0200
parents 35e1245409b8
children 22f63f446e79
files scripts/image/imformats.m scripts/io/Tiff.m
diffstat 2 files changed, 20 insertions(+), 14 deletions(-) [+]
line wrap: on
line diff
--- a/scripts/image/imformats.m	Sat Sep 03 19:53:14 2022 +0200
+++ b/scripts/image/imformats.m	Sat Sep 03 20:36:33 2022 +0200
@@ -259,6 +259,26 @@
   ## fills rest of format information by checking with GraphicsMagick
   formats = __magick_formats__ (formats);
 
+  ## Use the Tiff interface for tif files if available
+  if __have_feature__ ("TIFF")
+    fidx = find_ext_idx (formats, "tif");
+    ## If no format for Tiff, add it at the end
+    if (! any (fidx))
+      fidx = numel (formats) + 1;
+    endif
+    formats(fidx) =  struct (
+      "coder", "TIFF",
+      "ext", {{"tif", "tiff"}},
+      "read", @__tiff_imread__,
+      "write", @__tiff_imwrite__,
+      "info", @__tiff_imfinfo__,
+      "isa", @__tiff_isa__,
+      "alpha", true,
+      "multipage", true,
+      "description", "Tagged Image File Format"
+    );
+  endif
+
   rformats = formats;
 
 endfunction
--- a/scripts/io/Tiff.m	Sat Sep 03 19:53:14 2022 +0200
+++ b/scripts/io/Tiff.m	Sat Sep 03 20:36:33 2022 +0200
@@ -1,17 +1,3 @@
-## PKG_ADD: ## Discard result to avoid polluting workspace with ans at startup.
-## PKG_ADD: if __have_feature__ ("TIFF")
-## PKG_ADD:   [~] = imformats("update", "tif",
-## PKG_ADD:                   struct ("read", @__tiff_imread__,
-## PKG_ADD:                           "write", @__tiff_imwrite__,
-## PKG_ADD:                           "info", @__tiff_imfinfo__,
-## PKG_ADD:                           "ext", {{"tif", "tiff"}},
-## PKG_ADD:                           "isa", @__tiff_isa__,
-## PKG_ADD:                           "alpha", true,
-## PKG_ADD:                           "multipage", true,
-## PKG_ADD:                           "description", "Tagged Image File Format",
-## PKG_ADD:                           "coder", "TIFF"));
-## PKG_ADD: endif
-
 classdef Tiff
   properties (Constant = true)
     TagID = __tiff_make_tagid__ ();