Table of Contents

Ultrazvuk

Vstupní data

Pro snímání utvořte skupinky a postupně během cvičení nasnímejte, nejpozději do 7. cvičení (3.4.). Zpracování bude probíhat jednotlivě, ale stačí nasnímat ve dvojici jednu sadu (screenshot, 2 x video). Na každém cvičení do 3.4. bude ultrazvuk k dispozici.

Sekvence: podélně a příčně

Sekvence (jednotlive framy jako png) podélně, příčně

Nacteni sekvence:

  pngFiles = dir('*.png'); 
  numfiles = length(pngFiles);
  mydata = cell(1, numfiles);
  for k = 1:numfiles 
    mydata{k} = imread(pngFiles(k).name); 
  end

Zadání

  1. Vyhodnoťte a udejte změřený průměr krkavice. [0.5b]
  2. Změřte v nasnímaných sekvencích srdeční tep. [4.5b]

Úprava .avi při chybě kodeku

Některé verze Matlabu mohou mít s formátem exportovaného videa potíže, pokud se podobná chyba objeví, použijte avconv pro konverzi:

avconv -i exported.avi -c:v rawvideo -pix_fmt rgb24 converted.avi

V tomto formátu by měl Matlab být schopen video načíst. Rychlou kontrolu lze provést následovně

obj = mmreader('converted.avi'); frame = read( obj, 0); imshow(frame)

Postup řešení druhé části

Srdeční tep budeme zjišťovat pomocí analýzy rozídlných frekvencí (přes časovou osu) obsažených ve výřezu obsahujícím tepající krkavicí. Pomocí frekvenční analýzy budeme sledovat časově závislý signál $j(t)$ střední intenzity výřezu. Ve zprávě uveďte vypočtené tepové frekvence a v postupu zmíněné grafy.

  1. Extrahujte výřez $P$ a spočtěte pro každý frame $t$ průměrnou intenzitu $j(t) = \frac{1}{|P|}\sum_P I(x,y,t)$ a vykreslete funkci $j(t)$ do grafu. [0.5b]
  2. Normalizujte signál $j(t)$ odečtením střední hodnoty (přes klouzavý interval o délce $w$, ca $w=32$.
  3. Spočtěte dominantní frekvenci signálu $j(t)$ (tepová frekvence) pomocí následujících metod a srovnejte jejich výsledek:
    • Fourierova transformace [2 pt]
      1. Pomocí funkce fft spočtěte spektrum signálu $J(f) = |\mathcal{F}(j)|$
      2. Za pomocí funkce fftshift převeďte $J(f)$ na vector o rozsahu $-\frac{f_r}{2} \leq f \leq \frac{f_r}{2}$, kde $f_r$ je frame rate vstupního videa.
      3. Najděte dominantní frekvenci (odpovídající tepu) a vyjádřete jí v úderech za minutu.
      4. Vykreslete $J(t)$ a použije tepovou frekvenci na ose $x$.
  1. BONUS [1pt] Najděte ve vstupní sekvenci pixely, jejichž časový profil má vysokou podobnost s detekovanou srdeční frekvencí $f_h$. Tj. hledáme pro pixely $x$, čas $t$ a frekvenci $f_h$ parametry modelu: $s(x,t) = a(x) $sin$(2\pi f_h t) + b(x)$cos$(2\pi f_h t) + c(x)$
    • Sestavíme soustavu lineárních rovnic
      <latex>

\begin{bmatrix}

s(x,1) \\
\vdots \\
s(x,N)

\end{bmatrix} = \begin{bmatrix}

\textrm{sin}(2\pi f_h t_1) & \textrm{cos}(2\pi f_h t_1) & 1 \\
\vdots  & \vdots  & \vdots \\
\textrm{sin}(2\pi f_h t_N) & \textrm{cos}(2\pi f_h t_N) & 1

\end{bmatrix} \begin{bmatrix}

a \\
b \\
c

\end{bmatrix} \quad (=) \quad S = A.V </latex>