Review on skin lesion imaging, analysis and automatic classification

The goal of any imaging methodology used in dermatology is to diagnose melanoma in early stages because it depends on the effectiveness of treatment. Investigations shows, that early diagnosis is more than 90% curable and late is less than 50% [1]. The diagnosis and successful treatment are often supplemented with permanent monitoring of suspicious skin lesions. Doctor’s diagnosis is reliable, but this procedure takes lots of time, efforts. These routines can be automated. It could save lots of doctor’s time and could help to diagnose more accurately. Besides using computerized means there are excellent opportunity to store information with diagnostic information in order to use it for further investigations or creation of new methods of diagnosis. Skin lesion imaging methods We found that there are number of various imaging methods of skin lesions [2]. The simplest skin visualization method is photography. This method gives only top layer skin image. In order to get deeper layer image there is oil immersion used. It reduces reflections of surface and brightens the image of epidermis – the second skin layer.

Continue reading

Discrete systems in series and parallel

Discrete systems in series Let as say that we have two discrete systems and their impulse responses are h1(n) and h2(n). Then when these discrete systems are connected in series, then overall impulse response: Where: As you noticed there were changing made: This is nothing more than convolution of impulse responses of both discrete systems: Discrete systems in parallel If we have two discrete systems connected in parallel: As we see there is simple sum of output queues of each discrete system. So we can assume, that overall impulse response is as sum of systems connected in parallel:

Continue reading

Impulse Response of discrete system

Impulse signal can be represented as: d[n] = 1, if n=0 d[n] = 0, otherwise it can also be written like d=[1,0,0,0,…] Impulse Response The impulse response h(n) is the response of filter L() at time n to unit impulse occurring at time 0. h(n)=L(d(n)) Lets see how discrete system can be described when impulse response is known We know that: In the linear system this can be written as follows: Because h(n-k)=L(d(n-k)) Then: What do we get? There is obvious, that linear system can be described by its impulse response. The last expression is called convolution. This is the heart of DSP Filtering. To write this sum in more convenient matter is assumed that: Matlab example Matlab example: % Plot an unit impulse signal n = -7:7; x = [0 0 0 0 0 0 0 1 2 3 0 0 0 0 0]; subplot(4,2,1); stem(n, x); limit=[min(n), max(n), 0, 5]; axis(limit); title(‘Input x[n]’); subplot(4,2,3); x0=0*x; x0(8)=x(8); stem(n, x0); axis(limit); h=text(0, x0(8), ‘x[0]’); set(h, ‘horiz’, ‘center’, ‘vertical’, ‘bottom’); subplot(4,2,4); y0=0*x; index=find(x0); for i=index:length(n) y0(i)=x0(index)*exp(-(i-index)/2); end stem(n, y0); axis(limit); h=text(0, x0(8), ‘x[0]*h[n-0]’); set(h, ‘vertical’, ‘bottom’); subplot(4,2,5); x1=0*x; x1(9)=x(9); stem(n, x1); axis(limit); h=text(1, x1(9), ‘x[1]’); set(h, ‘horiz’, ‘center’, ‘vertical’, ‘bottom’); subplot(4,2,6);…

Continue reading

What is a linear system?

Discrete system is nothing more than algorithm, where input is transformed to output. The output is transformed by operator L() which describes discrete system. Lets see few most common operators of discrete systems. Delay This means that output queue is delayed by on sample. Multiplication This operator takes each sample of input queue and multiplies by constant a. Sum operator Takes two or more sample queues and adds them in the output. Assuming we can say, that the system is linear if input sum reaction is equal to sum of inputs reactions: The system has stable parameters if: y(n-k)=L(x(n-k)), this means that output delay should be the same as input. It is obvious that delay, multiply and sum operators are linear and has stable parameters. We will need then for further lessons.

Continue reading

Understanding of discrete signals

Discrete signals can be generated by software or obtained from real world through ADC. Discrete signals are sampled from analog signals. So you get samples in fixed time intervals. Discrete signal is as sequence of numbers. The element number n of sequence is marked as x(n). The most common number rows: Unit sample sequence d[n] = 1, if n=0 d[n] = 0, otherwise You can describe it in Matlab like % Plot an unit impulse signal n = -5:5; x = 0*n; index=find(n==0); x(index)=1; % plot stem(n, x); axis([-inf, inf, -0.2, 1.2]); xlabel(‘n’); ylabel(‘x’); title(‘Unit Impulse Signal delta[n]’); Unit Step Sequence u[n] = 1, if n>=0 u[n] = 0, otherwise You can describe it in Matlab like: % Plot an unit impulse signal n = -5:5; x = 0*n; index=find(n>=0); x(index)=1; % plot stem(n, x); axis([-inf, inf, -0.2, 1.2]); xlabel(‘n’); ylabel(‘x’); title(‘Unit Step Signal u[n]’); As you can see step is nothing more than set of impulses. And impulse can be expressed as d[n]=u(n)-u(n-1); Thus any sequence of numbers can be expressed asset of impulses like this: For example sin() sequence can be written like this: Matlab script would look like this: % Plot a sinusoidal signal n = 0:40;…

Continue reading

AD9288 Protel Footprint

The AD9288 is a dual 8-bit monolithic sampling analog-to-digital converter with on-chip track-and-hold circuits and is optimized for low cost, low power, small size and ease of use. The product operates at a 100 MSPS conversion rate with outstanding dynamic performance over its full operating range. Each channel can be operated independently. The ADC requires only a single 3 V (2.7 V to 3.6 V) power supply and an encode clock for full-performance operation. No external reference or driver components are required for many applications. The digital outputs are TTL/CMOS compatible and a separate output power supply pin supports interfacing with 3.3 V or 2.5 V logic. The encode input is TTL/CMOS compatible and the 8-bit digital outputs can be operated from +3 V (2.5 V to 3.6 V) supplies. User selectable options are available to offer a combination of power down modes, digital data formats and digital data timing schemes. In power-down mode, the digital outputs are driven to a high-impedance state. Fabricated on an advanced CMOS process, the AD9288 is available in a 48-pin surface mount plastic package (7×7 mm, 1.4 mm 48-Pin LQFP) specified over the industrial temperature range (-40°C to +85°C). Pin out designed for 10-bit…

Continue reading

LPC229x protel library

The LPC2292 microcontrollers are based on a 16-bit/32-bit ARM7TDMI-S CPU with real-time emulation and embedded trace support, together with 256 kB of embedded high-speed flash memory. A 128-bit wide memory interface and a unique accelerator architecture enable 32-bit code execution at the maximum clock rate. For critical code size applications, the alternative 16-bit Thumb mode reduces code by more than 30 pct. with minimal performance penalty. With their 144-pin LQFP144 package, low power consumption, various 32-bit timers, 8-channel 10-bit ADC, 2/4 (LPC2292) advanced CAN channels, PWM channels and up to nine external interrupt pins these microcontrollers are particularly suitable for automotive and industrial control applications as well as medical systems and fault-tolerant maintenance buses. The number of available GPIOs ranges from 76 (with external memory) through 112 (single-chip). With a wide range of additional serial communications interfaces, they are also suited for communication gateways and protocol converters as well as many other general-purpose applications. Here you can try my generated LPC2292 protel library. Also this is same Protel library for all LPC229x microcontrollers. LPC2292 protel library

Continue reading