This is an automated email from the ASF dual-hosted git repository.

spricoder pushed a commit to branch object_type
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/object_type by this push:
     new 5d0563d62d5 update utils
5d0563d62d5 is described below

commit 5d0563d62d5c84f298128989cb41c8e3b5a43c78
Author: spricoder <[email protected]>
AuthorDate: Mon Jul 7 20:28:37 2025 +0800

    update utils
---
 .../utils/model/UnCompressedTiffModelReader.java   | 25 ++++++++++++++++++++--
 1 file changed, 23 insertions(+), 2 deletions(-)

diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/model/UnCompressedTiffModelReader.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/model/UnCompressedTiffModelReader.java
index debfeab42a3..f1291bf09e5 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/model/UnCompressedTiffModelReader.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/model/UnCompressedTiffModelReader.java
@@ -19,13 +19,34 @@
 
 package org.apache.iotdb.db.utils.model;
 
-import java.util.Collections;
+import ij.ImagePlus;
+import ij.io.Opener;
+import ij.process.FloatProcessor;
+import ij.process.ImageProcessor;
+
+import java.util.ArrayList;
 import java.util.List;
 
 public class UnCompressedTiffModelReader extends ModelReader {
 
   @Override
   public List<float[]> penetrate(String filePath, List<List<Integer>> 
startAndEndTimeArray) {
-    return Collections.emptyList();
+    Opener opener = new Opener();
+    ImagePlus imagePlus = opener.openImage(filePath);
+    ImageProcessor processor = imagePlus.getProcessor();
+    List<float[]> result = new ArrayList<>();
+    for (List<Integer> startAndEndTime : startAndEndTimeArray) {
+      int start = startAndEndTime.get(0);
+      int end = startAndEndTime.get(1);
+      int length = end - start + 2;
+      float[] pixels = new float[length];
+      if (processor instanceof FloatProcessor) {
+        for (int i = start; i <= end; i++) {
+          pixels[i - start] = processor.getf(i);
+        }
+      }
+      result.add(pixels);
+    }
+    return result;
   }
 }

Reply via email to