Author Topic: Yet another cheap thermal imager incoming.. Seek Thermal  (Read 712981 times)

0 Members and 2 Guests are viewing this topic.

Offline miguelvp

  • Super Contributor
  • ***
  • Posts: 5549
  • Country: us
Re: Yet another cheap thermal imager incoming.. Seek Thermal
« Reply #100 on: October 05, 2014, 06:42:18 pm »
I fired up VisiQuest (signal processing software) and imported the raw data as unsigned short
156 width and 206 height, then equalized the image and scale it by 3 to make it 3 times bigger

This is 000098.data 3 times bigger than it is.



The thing is that 156 x 206 x 2 bytes is 64272 bytes, and the file is 64,896 bytes So there are an extra 624 bytes there, so an extra 3 rows of data (159x206?) but it seems there are some markers within the data.
« Last Edit: October 05, 2014, 06:48:47 pm by miguelvp »
 

Offline miguelvp

  • Super Contributor
  • ***
  • Posts: 5549
  • Country: us
Re: Yet another cheap thermal imager incoming.. Seek Thermal
« Reply #101 on: October 05, 2014, 07:03:13 pm »
So the image format is 208 by 156 unsigned short (2 bytes per pixel)
There are 2 extra pixels that are not part of the sensor, here is image 000098.data :)
I blew it up x3 so it's more visible, I gotta find a format that supports 16bits grey scale, I think tiff can do it.

Btw this is equalized, I'll post one without equalization but I think it's going to be too dark. It's completly dark, I will have to subtract some offset and scale it so equalization will have to do for now.


« Last Edit: October 05, 2014, 07:05:47 pm by miguelvp »
 

Offline eneuro

  • Super Contributor
  • ***
  • Posts: 1411
  • Country: 00
Re: Yet another cheap thermal imager incoming.. Seek Thermal
« Reply #102 on: October 05, 2014, 07:11:42 pm »
Link to app:
https://play.google.com/store/apps/details?id=com.tyriansystems.SeekThermal
It doesn't support my Nvidia Shield, but it does support my wife's S4, So I guess she will have to go to work without her phone :)
I'm not Nvidia Shield user yet, but found something like this and it looks like in the case of ethernet adapter connection order matters?
https://forums.geforce.com/default/topic/765599/shield-tablet/shield-tablet-and-otg-y-cable/
Quote
"Plug in the Charging Cable first (the controller brick and cable that came with your SHIELD are recommended).
Then plug in the USB to Ethernet Adapter"
Maybe something similar with this "Shit Thermal"  :palm:


Just tried installing and it says "This app is not available in your country".
I do not know how this Google Play works but maybe they detect someones IP WHEN you download app and modify somehow this apk on the fly? So they let you download this, but then during instalation they display this stupid country message?
It could be interesting if someone from  US made checksum eg. MD5 on this instalation file and compare it with MD5's of file taken from UK..

I know nothing about Android - is it be possible for someone in the US to download it to a file that I could install outside of the Google Play store?
For example this VPN http://www.strongvpn.com/ can teleport you to US with speed of light easy  :-DD
I've used it for a few years, while I do not like stupid marketing spam targeted to my country users, so by choosing UK or US IP Google thinks I'm in UK or US, while I can be everywhere  8)

Another interesting test could be powering down home router and disable internet connection during instalation of this Shit Thermal apk?
If I had one I'd also turn on TCP/IP network scanner analyser and save logs from time when you try install this bullshit apk than see if it contacts with external servers during this instalation.
Maybe they try to guess your country based on IP during instalation too?

BTW: Hopefully it looks like $15 IR thermometer in custom DIY will let me examine and map temperatures I'm interested in easy.
Today this gadget word is one big bullshit  and Shit Thermal is another example :--
I will connect customized $15 IR thermometer to Nvidia Shield and they will not tell me what to buy to use their product...
12oV4dWZCAia7vXBzQzBF9wAt1U3JWZkpk
“Let the future tell the truth, and evaluate each one according to his work and accomplishments. The present is theirs; the future, for which I have really worked, is mine”  - Nikola Tesla
-||-|-
 

Offline miguelvp

  • Super Contributor
  • ***
  • Posts: 5549
  • Country: us
Re: Yet another cheap thermal imager incoming.. Seek Thermal
« Reply #103 on: October 05, 2014, 07:16:55 pm »
Eneuro, I side loaded it to my Shield, so I'm ready for it, it's not supported by the play store, but it's has the requirements so now wait and see.
Btw I have the 1st Gen Shield not the new tablet, the game controller with the flip screen one.

Edit: I'm pretty sure it's supported by the new Shield Tablet.

and we are already looking at the contents of the inners of the apk.

Btw the raw folder is a movie with 100 frames.
I'll see if I can actually create the video with my signal processing software.


« Last Edit: October 05, 2014, 09:44:45 pm by miguelvp »
 

Offline kxenos

  • Frequent Contributor
  • **
  • Posts: 284
  • Country: gr
Re: Yet another cheap thermal imager incoming.. Seek Thermal
« Reply #104 on: October 05, 2014, 07:18:40 pm »
I fired up VisiQuest (signal processing software) and imported the raw data as unsigned short
156 width and 206 height, then equalized the image and scale it by 3 to make it 3 times bigger

This is 000098.data 3 times bigger than it is.

The thing is that 156 x 206 x 2 bytes is 64272 bytes, and the file is 64,896 bytes So there are an extra 624 bytes there, so an extra 3 rows of data (159x206?) but it seems there are some markers within the data.
64896 is 156 x 208 x 2. Can you do that? You already did.  O0
« Last Edit: October 05, 2014, 08:16:05 pm by kxenos »
 

Online mikeselectricstuff

  • Super Contributor
  • ***
  • Posts: 11826
  • Country: gb
    • Mike's Electric Stuff
Re: Yet another cheap thermal imager incoming.. Seek Thermal
« Reply #105 on: October 05, 2014, 08:33:36 pm »
To be honest I did send mike a pm with the link one hour earlier than your post but chickened out making it public.

Seems like the tryansystems folders are the most interesting ones :)
Thanks  - installed OK after second attempt!
Youtube channel:Taking wierd stuff apart. Very apart.
Mike's Electric Stuff: High voltage, vintage electronics etc.
Day Job: Mostly LEDs
 

Online mikeselectricstuff

  • Super Contributor
  • ***
  • Posts: 11826
  • Country: gb
    • Mike's Electric Stuff
Re: Yet another cheap thermal imager incoming.. Seek Thermal
« Reply #106 on: October 05, 2014, 08:40:43 pm »
I would expect that there are some dummy rows and/or columns for reference /cal purposes. Maybe also some other data inserted along with the image pixels - e.g. temperature, frame count etc.
Youtube channel:Taking wierd stuff apart. Very apart.
Mike's Electric Stuff: High voltage, vintage electronics etc.
Day Job: Mostly LEDs
 

Online mikeselectricstuff

  • Super Contributor
  • ***
  • Posts: 11826
  • Country: gb
    • Mike's Electric Stuff
Re: Yet another cheap thermal imager incoming.. Seek Thermal
« Reply #107 on: October 05, 2014, 08:41:49 pm »
So the image format is 208 by 156 unsigned short (2 bytes per pixel)
There are 2 extra pixels that are not part of the sensor, here is image
CRC perhaps.
Youtube channel:Taking wierd stuff apart. Very apart.
Mike's Electric Stuff: High voltage, vintage electronics etc.
Day Job: Mostly LEDs
 

Offline miguelvp

  • Super Contributor
  • ***
  • Posts: 5549
  • Country: us
Re: Yet another cheap thermal imager incoming.. Seek Thermal
« Reply #108 on: October 05, 2014, 08:54:29 pm »
Let's see if the gif animates here :)

I couldn't upload it because it was over 2MB




I did equalize each image independently so the changes in signal are not what the camera will do, I expect it to be more stable in intensity variation

Also I took the liberty to use 10 fps

I'm not sure this is a thermal image, I should invert it, can the water reflect heat?
« Last Edit: October 05, 2014, 09:03:32 pm by miguelvp »
 

Offline miguelvp

  • Super Contributor
  • ***
  • Posts: 5549
  • Country: us
Re: Yet another cheap thermal imager incoming.. Seek Thermal
« Reply #109 on: October 05, 2014, 09:19:25 pm »
This is the negative of the one above


 

Offline miguelvp

  • Super Contributor
  • ***
  • Posts: 5549
  • Country: us
Re: Yet another cheap thermal imager incoming.. Seek Thermal
« Reply #110 on: October 05, 2014, 09:31:04 pm »
Btw "APK Studio" can be use to repack the apk after you are done modifying it.

The zip is really an APK Studio project
 

Offline kxenos

  • Frequent Contributor
  • **
  • Posts: 284
  • Country: gr
Re: Yet another cheap thermal imager incoming.. Seek Thermal
« Reply #111 on: October 05, 2014, 09:55:18 pm »
since the overhead is just 2 bytes per line I would expect just 1 extra pixel. Also, I think it;s not CRC but has something to do with max or average temperature in the line because if you see the animated gif image you can see that on the upper lines where the image is generally bright the additional pixels are black.
 

Offline miguelvp

  • Super Contributor
  • ***
  • Posts: 5549
  • Country: us
Re: Yet another cheap thermal imager incoming.. Seek Thermal
« Reply #112 on: October 05, 2014, 09:59:30 pm »
The overhead is 4 bytes (2 pixels) but they don't seem to have any calibration data, maybe it's a buffer fetching thing.

Also on the "APK Studio" here is the link:
https://apkstudio.codeplex.com/
 

Offline miguelvp

  • Super Contributor
  • ***
  • Posts: 5549
  • Country: us
Re: Yet another cheap thermal imager incoming.. Seek Thermal
« Reply #113 on: October 05, 2014, 10:23:23 pm »
So I applied the following palette:



and it does look thermal, not sure about the water reflecting heat, but maybe it does.

 

Offline miguelvp

  • Super Contributor
  • ***
  • Posts: 5549
  • Country: us
Re: Yet another cheap thermal imager incoming.. Seek Thermal
« Reply #114 on: October 05, 2014, 10:31:59 pm »
I was expecting something more like this video:



Applying the same palette:
 

Offline firehopper

  • Frequent Contributor
  • **
  • Posts: 366
  • Country: us
Re: Yet another cheap thermal imager incoming.. Seek Thermal
« Reply #115 on: October 05, 2014, 11:23:39 pm »
This is the negative of the one above



nice job sir! I like the inverse one better, but very nice job. now I can make sense of the image in your other post :) its some boats on water
 

Offline amirm

  • Regular Contributor
  • *
  • Posts: 120
  • Country: us
    • Audio Science Review
Re: Yet another cheap thermal imager incoming.. Seek Thermal
« Reply #116 on: October 06, 2014, 01:25:16 am »
I ordered one this morning and  just installed the app on my HTC DNA phone.  I ran it and it is asking me for my login info.  Gave it the same thing I put in the web site and it is not working!  Let's hope they fix this.

Your account associated with your purchase is not the one associated with the application. You have to register.
Thanks.  Figured it out after posting that message :).  Should have realized they were using a third-party ecommerce system.

For those anxious to try it, don't be :).  The app doesn't do anything other than show sample stills.
 

Offline eneuro

  • Super Contributor
  • ***
  • Posts: 1411
  • Country: 00
Re: Yet another cheap thermal imager incoming.. Seek Thermal
« Reply #117 on: October 06, 2014, 02:56:56 am »
I'm not sure this is a thermal image, I should invert it, can the water reflect heat?
Why not to use oryginal app and grab those thermal images than compare with raw data?

Only by hacking this thing you are able to read anything-oryginal software does not work?

If it worked it could be easier make own trained LUT based on this output from oryginal software, while maybe some specyfic kind of LUT is needed to get correct pixel temperature  ::)

BTW: This movie is from images catched at night or with day light present?
« Last Edit: October 06, 2014, 02:58:31 am by eneuro »
12oV4dWZCAia7vXBzQzBF9wAt1U3JWZkpk
“Let the future tell the truth, and evaluate each one according to his work and accomplishments. The present is theirs; the future, for which I have really worked, is mine”  - Nikola Tesla
-||-|-
 

Online mikeselectricstuff

  • Super Contributor
  • ***
  • Posts: 11826
  • Country: gb
    • Mike's Electric Stuff
Re: Yet another cheap thermal imager incoming.. Seek Thermal
« Reply #118 on: October 06, 2014, 03:08:59 am »
BTW: This movie is from images catched at night or with day light present?
Probably daylight due to reflection from water, though could be reflection from clouds
Youtube channel:Taking wierd stuff apart. Very apart.
Mike's Electric Stuff: High voltage, vintage electronics etc.
Day Job: Mostly LEDs
 

Offline marshallh

  • Supporter
  • ****
  • Posts: 1458
  • Country: us
    • retroactive
Re: Yet another cheap thermal imager incoming.. Seek Thermal
« Reply #119 on: October 06, 2014, 03:12:29 am »
So after looking at the LPC4300 firmware my best guess is:

1. Sensor outputs raw unscaled image data in digital form. (Analog is also posible but less likely)
2. ARM run USB stack and slurps raw sensor data across into the USB stack, or on the Apple version, the iAP (Lightning) interface chip.
3. Android app provides post FX.

There is a small API that indcates this first firmware is preliminary and expected to be upgraded soon.
Verilog tips
BGA soldering intro

11:37 <@ktemkin> c4757p: marshall has transcended communications media
11:37 <@ktemkin> He speaks protocols directly.
 

Offline callipso

  • Regular Contributor
  • *
  • Posts: 87
  • Country: cz
Re: Yet another cheap thermal imager incoming.. Seek Thermal
« Reply #120 on: October 06, 2014, 03:37:28 am »
One SEEK just popped up in my eBay search alert for US$300 starting. Are they shipping yet or is it yet another eBay arsehole?
I wonder... **BOOM
 

Offline eneuro

  • Super Contributor
  • ***
  • Posts: 1411
  • Country: 00
Re: Yet another cheap thermal imager incoming.. Seek Thermal
« Reply #121 on: October 06, 2014, 04:22:53 am »
BTW: This movie is from images catched at night or with day light present?
Probably daylight due to reflection from water, though could be reflection from clouds
OK, but are you talking about those simulation raw data from this folder (Linux unzip extracts easy everything of course  >:D)
Quote
$ ./seek_thermal_v1.0.0.apk/com/tyriansystems/Seekware/simulation/raw
or you captured I mean used this thermal camera and working on data obtained from real world?

You should disassemble also this 32 bit ARM binary too  >:D
Quote
libSeekware.so: ELF 32-bit LSB shared object, ARM, version 1 (SYSV), dynamically linked, not stripped
There are two versions of libSeekware.so in folders: ./seek_thermal_v1.0.0.apk/lib/armeabi and ./seek_thermal_v1.0.0.apk/lib/armeabi-v7a .
Bigger text version packed with zip from armeabi attached to this post.
Quote
$ cat libSeekware.so |bin2hex >armeabi_libSeekware.so.txt
LUT calls are defined there to native calls from Java

like this sample LUT_hotmetalblue from ./seek_thermal_v1.0.0.apk/com/tyriansystems/Seekware/simulation/LUT/Hot Metal Blue.jpg
so probably aplied such LUT function ro raw data gives results like this, but we needed much more samples to be able train/guess for example this hot metal blue LUT

while this is coded in this ARM binary libSeekware.so.
Tried Linux objdump to disassemble this ARM like I used to do with Atmel AVR binary, but probably passed wrong parameters and I haven't got assembler source .. so far  >:D

BTW: One can ask this guy, while such folder name left in this libSeekware.so (from attached file).

It is a pity there is no telephone numbers to Noah- it could be asier to hack this ARM binary with his support :-DD
« Last Edit: October 06, 2014, 04:30:18 am by eneuro »
12oV4dWZCAia7vXBzQzBF9wAt1U3JWZkpk
“Let the future tell the truth, and evaluate each one according to his work and accomplishments. The present is theirs; the future, for which I have really worked, is mine”  - Nikola Tesla
-||-|-
 

Offline marshallh

  • Supporter
  • ****
  • Posts: 1458
  • Country: us
    • retroactive
Re: Yet another cheap thermal imager incoming.. Seek Thermal
« Reply #122 on: October 06, 2014, 04:29:59 am »
Code: [Select]
.plt:00007088 ; File Name   : C:\Users\Boris\Desktop\seek_thermal\lib\armeabi-v7a\libSeekware.so
.plt:00007088 ; Format      : ELF for ARM (Shared object)
.plt:00007088 ; Needed Library 'libstdc++.so'
.plt:00007088 ; Needed Library 'libm.so'
.plt:00007088 ; Needed Library 'libc.so'
.plt:00007088 ; Needed Library 'libdl.so'
.plt:00007088 ; Shared Name 'libSeekware.so'
.plt:00007088 ;
.plt:00007088 ; EABI version: 5
.plt:00007088 ;
.plt:00007088 ; Source File : 'crtbegin_so.c'
.plt:00007088 ; Source File : 'SeekwareNativeLib.c'
.plt:00007088 ; Source File : 'luts.c'
.plt:00007088 ; Source File : 'colorize.cpp'
.plt:00007088 ; Source File : 'palettes.cpp'
.plt:00007088 ; Source File : 'temperature.cpp'
.plt:00007088 ; Source File : 'badpix_corr.cpp'
.plt:00007088 ; Source File : 'badpix_detect.cpp'
.plt:00007088 ; Source File : 'gain_coef.cpp'
.plt:00007088 ; Source File : 'gain_corr.cpp'
.plt:00007088 ; Source File : 'median_5.cpp'
.plt:00007088 ; Source File : 'median_avg.cpp'
.plt:00007088 ; Source File : 'offset.cpp'
.plt:00007088 ; Source File : 'temp_coef.cpp'
.plt:00007088 ; Source File : 'temp_corr.cpp'
.plt:00007088 ; Source File : 'thermography.cpp'
.plt:00007088 ; Source File : 'alpf.cpp'
.plt:00007088 ; Source File : 'peaklimit.cpp'
.plt:00007088 ; Source File : 'asbnuc.cpp'
.plt:00007088 ; Source File : 'bilateral.cpp'
.plt:00007088 ; Source File : 'kalman.cpp'
.plt:00007088 ; Source File : 'median.cpp'
.plt:00007088 ; Source File : 'median_gain.cpp'
.plt:00007088 ; Source File : 'median_stack.cpp'
.plt:00007088 ; Source File : 'rc-offset.cpp'
.plt:00007088 ; Source File : 'bclahe.cpp'
.plt:00007088 ; Source File : 'imageprocess.cpp'
.plt:00007088 ; Source File : 'del_opv.cc'
.plt:00007088 ; Source File : 'new_opv.cc'
.plt:00007088 ; Source File : 'bad_alloc.cc'
.plt:00007088 ; Source File : 'del_op.cc'
.plt:00007088 ; Source File : 'eh_arm.cc'
.plt:00007088 ; Source File : 'eh_aux_runtime.cc'
.plt:00007088 ; Source File : 'eh_call.cc'
.plt:00007088 ; Source File : 'eh_catch.cc'
.plt:00007088 ; Source File : 'eh_exception.cc'
.plt:00007088 ; Source File : 'eh_globals.cc'
.plt:00007088 ; Source File : 'eh_personality.cc'
.plt:00007088 ; Source File : 'eh_terminate.cc'
.plt:00007088 ; Source File : 'eh_throw.cc'
.plt:00007088 ; Source File : 'eh_unex_handler.cc'
.plt:00007088 ; Source File : 'fundamental_type_info.cc'
.plt:00007088 ; Source File : 'new_op.cc'
.plt:00007088 ; Source File : 'pointer_type_info.cc'
.plt:00007088 ; Source File : 'pure.cc'
.plt:00007088 ; Source File : 'si_class_type_info.cc'
.plt:00007088 ; Source File : 'tinfo.cc'
.plt:00007088 ; Source File : 'atexit_arm.cc'
.plt:00007088 ; Source File : 'bad_cast.cc'
.plt:00007088 ; Source File : 'bad_typeid.cc'
.plt:00007088 ; Source File : 'class_type_info.cc'
.plt:00007088 ; Source File : 'eh_alloc.cc'

Confirms my guess of all processing being done on phone via lib.

'


USB device (or at least beta) has VID 0x289D and PID 0x000F. Class/subclass 255 (Vendor specific)


There is a built-in hardware simulator. Even has stubs for firmware updates. I'd bet that's what the provided image RAW sequence is for.
« Last Edit: October 06, 2014, 04:48:52 am by marshallh »
Verilog tips
BGA soldering intro

11:37 <@ktemkin> c4757p: marshall has transcended communications media
11:37 <@ktemkin> He speaks protocols directly.
 

Offline frenky

  • Supporter
  • ****
  • Posts: 954
  • Country: si
    • Frenki.net
Re: Yet another cheap thermal imager incoming.. Seek Thermal
« Reply #123 on: October 06, 2014, 04:51:41 am »
I had to try for myself to extract image form raw... :)

Sensor values in the files range from min:7814, max: 8632. So I subtracted 7814, to get values from 0 to 808.
I then divided this by 3.17 to get nice RGB range from 0 to 255.

This is c# code if anyone wants to play (it's not pretty but it works):
(c# windows app)
Code: [Select]
using System;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            StreamReader sr = new StreamReader(@"C:\temp\000010.data", ASCIIEncoding.Default);
            byte[] bytes = sr.CurrentEncoding.GetBytes(sr.ReadToEnd());

            UInt16[] vals = new UInt16[32448];
            int[] ivals = new int[32448];

            for (int i = 0; i < 32448; i++)//64896
            {
                vals[i] = BitConverter.ToUInt16(bytes, i * 2);
                if (vals[i] > 9000 || vals[i] < 7000) vals[i] = 8223;//outside this range is checksum?;  max: 8632, min:7814
                ivals[i] = (vals[i] - 7814);
                ivals[i] = (int)Math.Round(Convert.ToDouble(ivals[i]) / 3.17);
            }

            var target = new Bitmap(208, 156);
            int ix = 0;

            for (int x = 0; x < 156; ++x)
            {
                for (int y = 0; y < 208; ++y)
                {
                    target.SetPixel(y, x, Color.FromArgb(ivals[ix], ivals[ix], ivals[ix]));
                    ix++;
                }
            }
            pictureBox1.Image = target;
            target.Save(Application.StartupPath + "\\img.png");
        }
    }
}

The result is below:
 

Offline marshallh

  • Supporter
  • ****
  • Posts: 1458
  • Country: us
    • retroactive
Re: Yet another cheap thermal imager incoming.. Seek Thermal
« Reply #124 on: October 06, 2014, 05:02:17 am »
I now have Java source of the library. I can see the device startup sequence (series of USB SetFeature requests) and it may be possible to get this running on PC with this information. Contact me if you want it.
Verilog tips
BGA soldering intro

11:37 <@ktemkin> c4757p: marshall has transcended communications media
11:37 <@ktemkin> He speaks protocols directly.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf