Category Archives: development

Now Removu S1 supports firmware upgrading for Mac OS X.

It’s been a long waiting, Ha!

Now Removu S1 supports Mac OS X with their new Mac OS X app. Sure it made with native codes with llvm-gcc and FLTK 1.3.4-1-ts of my git clone, thanks anyway.

It was started from their Windows based (actually made with M$VS C# and WTF… no! WPF ? whatever sucks strange GUI hmm … dot NET ?, you know what it is, actually I can not sure) but I couldn’t made anything with their Chinses commented source code, ever. Because it was only runs on Windows, and serial communicating not compatibled with any POSIX, ahh … what a beautiful situation, hugh ?

So I made it whole codes from my open sources, try to make communicate with S1 device on Mac OS X and Linux for while, and I need cold reboot MUCH times by goddam Silicon Labs’ MotherFather driver ( holy sheeeeet thanks to them ), And actually had success to match the argument of S1 packets, it was really hard way.

Now Mac OS X users may understand my previous blurred effect graphics, Just enjoy !

_ps_

I was made it with Mint Linux, but Essel-T seems not planned to support Linux, that’s so sad news.

Making boosting image signal for stereographics…

There maybe many different ways to detect depth of object, but it depends on reflecting signal intense to indentifying the changing of trace.

So I am now making a new fast and ineffective algorithm with these steps, gamma, median and applying my own algorithm of edge enhancement, then muxing it’em all with source original signals to complete image. Testing was completed in integer world, and planned to step next for floating points.

How to know my gcc OpenMP version ?

Here’s some easy way to know my gcc support what version of OpenMP in compiling level.

First, type this to your shell ( not Windows )

echo | cpp -fopenmp -dM | grep -i open

You may see one of these.

  • 200505 = version 2.5
  • 200805 = version 3.0
  • 201107 = version 3.1
  • 201307 = version 4.0
  • 201511 = verison 4.5

Or trying to make a complete code with Makefile with my source: omptest

Extract omptest.zip to anywhere able to approach with bash (or MSYS, MinGW shell too), then move to position where you been extract.

Just type make. A test named executabled binary (or test.exe if your system is Windows) may genertated, then jsut run it.

You may see what version of OpenMP supported by your gcc compiler.

 

Now working on R* S1 FW Writer for Mac OS X.

For some people to waited for long, it will comes out soon what about firmware upgrading program for Mac OS X. Now I am working on it in Linux and Mac OS X by my multi-platform availed libraries.

Wait for more days, it will release on manuafacturer home page, and you will be happy.

Here’s old version of developing of GUI sequence, you may hope this graphics may exactly same on Mac OS X. (even more faster and smooth !)

sset to C or H converting open source.

There’s nothing to find information about sset ( I was misunderstood it may s-record ), so I made a simple tool for supporting multi-platform if have any GCC with STL.

You can clone or download source code ( it is MIT license ) and build in your system with just typing “make” then, enjoy it.

It was tested on Windows MinGW-W64 and Mint Linux 18.2 GCC 5.2 with Mac OS X llvm-gcc. You can change {anyname of file}.sset to C or H file with options here:

For example, let converting preview.sset file to cam_previewmode.c,

sset2c preview.sset -s=cam_preview_1080p -t=msm_camera_i2c_reg_array cam_previewmode.c

You can decide symbol name and structure name ( you may know what structure name to be written before understanding platform driver structures ) by making a converted file.

And result is like this,

You can simply changes many register setting arrays at once with my open source code here:

Experience of Intel HD 630 damn driver.

I guess some people may experienced badness of Intel something – as like old models from Intel graphics as known thousnad numbered models – HD 2000 or 3000 whatever, when specially upgraded to Windows 10 from older.

My new office desktop presented to me a bad experience about mouse cursor doesn’t applying anti-aliased shape, and also without shadow in 2017 !

I had to find solve this Paleolithic lacks come in modern life, searched in Godgle, and finally found a word – “INSTALL NEW DRIVER”.

Yes, it was may a SMALL problem of Intel as like before, alwasy like that. Now I can see smoothen customized mouse cursor after new driver installed ( build 4678 ).

If you are looking bad shaped mouse cursor and if it belong to your internal video adaptor – yes, you may saved money to buy external graphic deivce as like AMD R460 or nVidia 1060 whatever – check for new video device driver asap, but you don’t sens what is wrong, also may nor required check update from big blue bad brother who named Intel.

CLAHE shading correction

Applying CLAHE to medical images may going to some shaded on each edge side of object. So I have to correct this problem with fast processing in real time.

To make up a prototype correction, I have used same source RAW image, here is a source image in down scaled from 16bit gray scale RAW.

Applied CLAHE with 16×16 in clip limit of 100.0f. And I could recognized shaded areas at each edge of object. Shaded area marked as red boxes in below.

To correct shaded area, generate gaussian blur mask with big radials, but it really heavy to processing in fast time as realtime. So I made it fastest way with my ‘Resize engine’ that made with OpenMP and AVX instructions. To generate fastest blurred mask, down scale with bi-linear filter to 2.5% size. Then doing up scale again with B-Spline filter to original size. And Invert it.

Then calculate to do shade correction with generated shade mask, ins fastest math functions with original image.

To complete image processing, need to fill background areas.

It simply corrected but little bit lacks on details of bone level. But definitely better than hard shaded levels after window leveling. Expect for next will find more improved processing algorithm, and it will be a function of librawprocessor.

Correcting shaded illumination on medical image.

By using CLAHE algorithm, there’s some problem occurs by object shapes like this:

Each edge side of object going too darken by window leveling. It is defecting issue of CLAHE. So I tried to make it corrected with shading correction.

Here is source raw image, 14bit gray.

First, I need make a background mask to overriding changed level after CLAHE.

It can generate simply by using my librawprocessor. Then I applied CLAHE, 10×10, 30.0f.

Shadowed or shaded areas occurs after applying CLAHE, it must be corrected. So I made shaded map with my fast resize engine. Down scale to 10% of original image size with Bi-Linear filter, then up scale again with B-Spline filter with inverse.

It is much effective than Gaussian blur. Very fast but similar to Gaussian blurred. almost realtime in 3000×3000 array with floating point  levels in AVX and OpenMP optimization.

Now I am just add masked shade map level with exponential to original image.

Result is :

Shaded object areas seems to enhanced than before. So I continued to applying background mask.

Ok, then I made it to window leveled.

Each edge sides are not seems to much shaded than before. It should be better than applying single CLAHE. I will continue to write more effective image processing with CLAHE.

My some GitHub sources updated for Linux.

It was long time to boot my Linux laptop for a while. And updated almost of my GitHub source codes to work on Linux, too. Actually I just cared about Windows and Mac OS-X, except my old friend Linux.

But now, almost of source codes may works on Makefile.{platform} name, then it will be need copy Makefile.{platform} to Makefile.

Ok, It’s time to step for next, some GUI programs to make it works almost of platforms like Linux and MacOS-X.