<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl">
	<id>http://brain.fuw.edu.pl/edu/index.php?action=history&amp;feed=atom&amp;title=TI%2FProgramowanie_dla_Fizyk%C3%B3w_Medycznych%2FDicom</id>
	<title>TI/Programowanie dla Fizyków Medycznych/Dicom - Historia wersji</title>
	<link rel="self" type="application/atom+xml" href="http://brain.fuw.edu.pl/edu/index.php?action=history&amp;feed=atom&amp;title=TI%2FProgramowanie_dla_Fizyk%C3%B3w_Medycznych%2FDicom"/>
	<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/Programowanie_dla_Fizyk%C3%B3w_Medycznych/Dicom&amp;action=history"/>
	<updated>2026-04-24T01:09:07Z</updated>
	<subtitle>Historia wersji tej strony wiki</subtitle>
	<generator>MediaWiki 1.34.1</generator>
	<entry>
		<id>http://brain.fuw.edu.pl/edu/index.php?title=TI/Programowanie_dla_Fizyk%C3%B3w_Medycznych/Dicom&amp;diff=3315&amp;oldid=prev</id>
		<title>Tgubiec o 11:20, 4 cze 2015</title>
		<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/Programowanie_dla_Fizyk%C3%B3w_Medycznych/Dicom&amp;diff=3315&amp;oldid=prev"/>
		<updated>2015-06-04T11:20:11Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;pl&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← poprzednia wersja&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Wersja z 11:20, 4 cze 2015&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Linia 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Linia 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;==Obsługa plików DICOM - pyDICOM==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Tgubiec</name></author>
		
	</entry>
	<entry>
		<id>http://brain.fuw.edu.pl/edu/index.php?title=TI/Programowanie_dla_Fizyk%C3%B3w_Medycznych/Dicom&amp;diff=3312&amp;oldid=prev</id>
		<title>Tgubiec o 11:19, 4 cze 2015</title>
		<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/Programowanie_dla_Fizyk%C3%B3w_Medycznych/Dicom&amp;diff=3312&amp;oldid=prev"/>
		<updated>2015-06-04T11:19:08Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;pl&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;← poprzednia wersja&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;Wersja z 11:19, 4 cze 2015&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l252&quot; &gt;Linia 252:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Linia 252:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#plan.save_as(&amp;quot;%(0).4f.dcm&amp;quot; %{&amp;quot;0&amp;quot;:pierwotna_nazwa})&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#plan.save_as(&amp;quot;%(0).4f.dcm&amp;quot; %{&amp;quot;0&amp;quot;:pierwotna_nazwa})&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/source&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #222; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[&amp;quot;Programowanie dla Fizyków Medycznych&amp;quot;]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Tgubiec</name></author>
		
	</entry>
	<entry>
		<id>http://brain.fuw.edu.pl/edu/index.php?title=TI/Programowanie_dla_Fizyk%C3%B3w_Medycznych/Dicom&amp;diff=3266&amp;oldid=prev</id>
		<title>Tgubiec: Utworzono nową stronę &quot; &lt;source lang=&quot;python&quot;&gt; import dicom import numpy as np import pylab as py plik=dicom.read_file('2.dcm') pixel=plik.pixel_array  print min(pixel.flatten()),max(pixel.fla...&quot;</title>
		<link rel="alternate" type="text/html" href="http://brain.fuw.edu.pl/edu/index.php?title=TI/Programowanie_dla_Fizyk%C3%B3w_Medycznych/Dicom&amp;diff=3266&amp;oldid=prev"/>
		<updated>2015-06-03T21:05:50Z</updated>

		<summary type="html">&lt;p&gt;Utworzono nową stronę &amp;quot; &amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt; import dicom import numpy as np import pylab as py plik=dicom.read_file(&amp;#039;2.dcm&amp;#039;) pixel=plik.pixel_array  print min(pixel.flatten()),max(pixel.fla...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nowa strona&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
import dicom&lt;br /&gt;
import numpy as np&lt;br /&gt;
import pylab as py&lt;br /&gt;
plik=dicom.read_file('2.dcm')&lt;br /&gt;
pixel=plik.pixel_array&lt;br /&gt;
&lt;br /&gt;
print min(pixel.flatten()),max(pixel.flatten())&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
pix=np.zeros(pixel.shape,)&lt;br /&gt;
pix=np.round(255.0*pixel/max(pixel.flatten()))&lt;br /&gt;
&lt;br /&gt;
print min(pix[:100,:100].flatten()),max(pix[:100,:100].flatten())&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
kolor=np.zeros((pix.shape[0],pix.shape[1],3))&lt;br /&gt;
kolor[:,:,0]=pix&lt;br /&gt;
kolor[:,:,1]=pix&lt;br /&gt;
kolor[:,:,2]=pix&lt;br /&gt;
kolor[:300,:300,0]=1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
py.imshow(kolor,interpolation='nearest')&lt;br /&gt;
py.show()&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Zadanie 4&lt;br /&gt;
&amp;lt;source lang=&amp;quot;python&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# -*- coding: utf-8 -*-&lt;br /&gt;
# Programowanie dla Fizyków Medycznych&lt;br /&gt;
# Mateusz Sitarz&lt;br /&gt;
&lt;br /&gt;
# Plik należy otworzyć w folderze z rozpakowanymi plikami instalacyjnymi DICOM.&lt;br /&gt;
&lt;br /&gt;
import dicom&lt;br /&gt;
import numpy&lt;br /&gt;
import pylab&lt;br /&gt;
&lt;br /&gt;
##################&lt;br /&gt;
# zadanie domowe #&lt;br /&gt;
##################&lt;br /&gt;
&lt;br /&gt;
# (zadanie 4 z 2 serii zadań domowych)&lt;br /&gt;
&lt;br /&gt;
'''&lt;br /&gt;
Ściągnij plik:&lt;br /&gt;
www.fuw.edu.pl/~tgubiec/CDRAD_sample.dcm&lt;br /&gt;
Plik wynikowy zapisz pod nazwą będącą pierwotną nazwą badanego pacjenta.&lt;br /&gt;
1) Zmień nazwę pacjenta na swoje imię i nazwisko, a datę badania na&lt;br /&gt;
swoje urodziny w 2012 roku,&lt;br /&gt;
2) usuń szum filtrem medianowym,&lt;br /&gt;
3) filtrem gamma popraw widoczność kołek wewnątrz kratki,&lt;br /&gt;
4) wybiel tło kółek (kratka może zniknąć) poprzez zamianę wszystkich&lt;br /&gt;
wartości powyżej pewnego progu na 255. Wartość progu łatwiej znaleźć&lt;br /&gt;
analizując histogram obrazka (pylab.hist(macierz_z_obrazkiem)).&lt;br /&gt;
5) Wypełnij małe kółka poprzez zamknięcie,&lt;br /&gt;
5) podaj średnicę dużego centralnego koła w centymetrach.&lt;br /&gt;
'''&lt;br /&gt;
&lt;br /&gt;
import dicom # TEGO BRAKOWAŁO&lt;br /&gt;
&lt;br /&gt;
# wczytanie pliku:&lt;br /&gt;
plan = dicom.read_file(&amp;quot;CDRAD_sample.dcm&amp;quot;)&lt;br /&gt;
print  plan.PatientsName &lt;br /&gt;
&lt;br /&gt;
# zamiana nazwy pacjenta:&lt;br /&gt;
pierwotna_nazwa = plan.PatientsName &lt;br /&gt;
nowa_nazwa = &amp;quot;MateuszSitarz&amp;quot;&lt;br /&gt;
plan.PatientsName = nowa_nazwa&lt;br /&gt;
&lt;br /&gt;
# zamiana daty badania:&lt;br /&gt;
plan.StudyTime = &amp;quot;20121008&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# wczytanie obrazu DICOM:&lt;br /&gt;
obraz = plan.pixel_array&lt;br /&gt;
obraz=obraz[800:1200,900:1300]&lt;br /&gt;
&lt;br /&gt;
#pylab.subplot(2,3,1)&lt;br /&gt;
#pylab.title(u&amp;quot;obraz&amp;quot;)&lt;br /&gt;
pylab.imshow(obraz, cmap = pylab.cm.gray, interpolation = 'nearest')&lt;br /&gt;
pylab.show()&lt;br /&gt;
# ==============================================================================&lt;br /&gt;
&lt;br /&gt;
# filtr medianowy:&lt;br /&gt;
def mediana(obraz):&lt;br /&gt;
	kopia = obraz.copy()&lt;br /&gt;
	wymiar = kopia.shape&lt;br /&gt;
	kopia = kopia * 1.0&lt;br /&gt;
	for x in range(1, wymiar[0] - 1): # (filtru medianowego nie stosuje się dla brzegowych pikseli obrazu)&lt;br /&gt;
		for y in range(1, wymiar[1] - 1):&lt;br /&gt;
			otoczenie_piksela = kopia[x-1:x+2, y-1:y+2] # pobranie otoczenia piksela&lt;br /&gt;
			kopia[x,y] = numpy.median(otoczenie_piksela) #TUTAJ RACZEJ MEDIAN zamiast mean&lt;br /&gt;
	return kopia&lt;br /&gt;
&lt;br /&gt;
obraz = mediana(obraz)&lt;br /&gt;
&lt;br /&gt;
#pylab.subplot(2,3,2)&lt;br /&gt;
#pylab.title(u&amp;quot;filtr medianowy&amp;quot;)&lt;br /&gt;
#pylab.imshow(obraz_medianowy, cmap = pylab.cm.gray, interpolation = 'nearest')&lt;br /&gt;
&lt;br /&gt;
# ==============================================================================&lt;br /&gt;
&lt;br /&gt;
# filtr gamma:&lt;br /&gt;
def gamma(obraz, g = 0.4):&lt;br /&gt;
	kopia = obraz.copy()&lt;br /&gt;
	wymiar = kopia.shape&lt;br /&gt;
	kopia = kopia * 1.0&lt;br /&gt;
	maximum = numpy.max(kopia)&lt;br /&gt;
	for x in range(0, wymiar[0]):&lt;br /&gt;
		for y in range(0, wymiar[1]):&lt;br /&gt;
			kopia[x,y] = kopia[x,y] / maximum # (normalizacja obrazu)&lt;br /&gt;
			kopia[x,y] = kopia[x,y] ** g # (zastosowanie definicji operacji gamma - potrzebna normalizacja)&lt;br /&gt;
			kopia[x,y] = kopia[x,y] * maximum # (powrót do normalnych wartości obrazu)&lt;br /&gt;
	return kopia&lt;br /&gt;
&lt;br /&gt;
#obraz_gamma = gamma(obraz)&lt;br /&gt;
&lt;br /&gt;
#pylab.subplot(2,3,3)&lt;br /&gt;
#pylab.title(u&amp;quot;filtr gamma&amp;quot;)&lt;br /&gt;
#pylab.imshow(obraz_gamma, cmap = pylab.cm.gray, interpolation = 'nearest')&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# ==============================================================================&lt;br /&gt;
&lt;br /&gt;
#pylab.hist(obraz)&lt;br /&gt;
#pylab.show()&lt;br /&gt;
&lt;br /&gt;
# wybielanie tła:&lt;br /&gt;
#obraz_bialy = obraz.copy()&lt;br /&gt;
prog=13800 #wybrane na podstawie histogramu&lt;br /&gt;
#fragment_obrazu = obraz_bialy[950:1250, 60:120]&lt;br /&gt;
maxim = numpy.max(obraz)&lt;br /&gt;
for x in range(0, obraz.shape[0]):&lt;br /&gt;
        for y in range(0, obraz.shape[1]):&lt;br /&gt;
                if obraz[x,y]&amp;lt;prog: obraz[x,y]=0&lt;br /&gt;
                else: obraz[x,y]=255&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#for n, val in enumerate(obraz_bialy.flat):&lt;br /&gt;
#	if val &amp;gt;= prog: # (koła są jaśniejsze od tła)&lt;br /&gt;
#		obraz_bialy.flat[n] = 255&lt;br /&gt;
&lt;br /&gt;
#pylab.subplot(2,3,4)&lt;br /&gt;
#pylab.title(u&amp;quot;wybielone tlo&amp;quot;)&lt;br /&gt;
pylab.imshow(obraz, cmap = pylab.cm.gray, interpolation = 'nearest')&lt;br /&gt;
pylab.show()&lt;br /&gt;
# ...&lt;br /&gt;
&lt;br /&gt;
# ==============================================================================&lt;br /&gt;
&lt;br /&gt;
# operacja zamknięcia (erozja, następnie dylacja):&lt;br /&gt;
&lt;br /&gt;
def erosion(obrazek, pedzel):&lt;br /&gt;
	wynik = obrazek.copy()&lt;br /&gt;
	wym_pedzla = numpy.shape(pedzel)&lt;br /&gt;
	pol_wym_pedzla = wym_pedzla[0] / 2&lt;br /&gt;
	for i in range(0 + pol_wym_pedzla, obrazek.shape[0] - pol_wym_pedzla):&lt;br /&gt;
		for j in range(0 + pol_wym_pedzla, obrazek.shape[1] - pol_wym_pedzla):&lt;br /&gt;
			lista = []&lt;br /&gt;
			for k in range(0, pedzel.shape[0]):&lt;br /&gt;
				for l in range(0, pedzel.shape[1]):&lt;br /&gt;
					if pedzel[k,l]:&lt;br /&gt;
						lista.append(obrazek[i - pedzel.shape[0] + k, j - pedzel.shape[1] + l])&lt;br /&gt;
			wynik[i,j] = numpy.min(lista)&lt;br /&gt;
	return wynik&lt;br /&gt;
&lt;br /&gt;
def dilation(obrazek, pedzel):&lt;br /&gt;
	wynik = obrazek.copy()&lt;br /&gt;
	wym_pedzla = numpy.shape(pedzel)&lt;br /&gt;
	pol_wym_pedzla = wym_pedzla[0] / 2&lt;br /&gt;
	for i in range(0 + pol_wym_pedzla, obrazek.shape[0] - pol_wym_pedzla):&lt;br /&gt;
		for j in range(0 + pol_wym_pedzla, obrazek.shape[1] - pol_wym_pedzla):&lt;br /&gt;
			lista = []&lt;br /&gt;
			for k in range(0, pedzel.shape[0]):&lt;br /&gt;
				for l in range(0, pedzel.shape[1]):&lt;br /&gt;
					if pedzel[k,l]:&lt;br /&gt;
						lista.append(obrazek[i - pedzel.shape[0] + k, j - pedzel.shape[1] + l])&lt;br /&gt;
			wynik[i,j] = numpy.max(lista)&lt;br /&gt;
	return wynik&lt;br /&gt;
&lt;br /&gt;
def rysuj_pedzel(a):&lt;br /&gt;
	'''Rysowanie kolowego pedzla w macierzy kwadratowej (2*a+1) * (2*a+1) (nieparzyste wymiary - SRODEK W 1 PIKSELU). Pedzel wewnatrz kolka ma wartosc 1, a poza nim 0.'''&lt;br /&gt;
	if a == 1:&lt;br /&gt;
		tlo = numpy.array([[0,1,0],[1,1,1],[0,1,0]])&lt;br /&gt;
	if a &amp;gt; 1:&lt;br /&gt;
		n = 2 * a + 1&lt;br /&gt;
		tlo = numpy.zeros([n, n])&lt;br /&gt;
		r = n/2.0&lt;br /&gt;
		for x in range(-n/2, n/2 + 1):&lt;br /&gt;
			for y in range(-n/2, n/2 + 1):&lt;br /&gt;
				if ( (x**2 + y**2) &amp;lt;= r**2 ) :&lt;br /&gt;
					tlo[x + n/2][y + n/2] = 1&lt;br /&gt;
	return tlo&lt;br /&gt;
&lt;br /&gt;
moj_pedzel = rysuj_pedzel(1)&lt;br /&gt;
&lt;br /&gt;
obraz_erozja = erosion(obraz, moj_pedzel)&lt;br /&gt;
obraz_dylacja_erozja = dilation(obraz_erozja, moj_pedzel)&lt;br /&gt;
&lt;br /&gt;
#pylab.subplot(2,3,5)&lt;br /&gt;
#pylab.title(u&amp;quot;zamkniecie&amp;quot;)&lt;br /&gt;
pylab.imshow(obraz_dylacja_erozja, cmap = pylab.cm.gray, interpolation = 'nearest')&lt;br /&gt;
pylab.show()&lt;br /&gt;
# ==============================================================================&lt;br /&gt;
&lt;br /&gt;
# średnica centralnego koła:&lt;br /&gt;
skala = plan.PixelSpacing&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#TUTAJ NIE BARDZO ROZUMIEM CO SIE DZIEJE - ZA PEWNE POTRZEBNA JEST JAKAS NIEWIELKA ZMIANA&lt;br /&gt;
# stworzenie obrazu czarno-białego:&lt;br /&gt;
cien = obraz.copy()&lt;br /&gt;
fragment_cienia = cien[950:1250, 60:120]&lt;br /&gt;
szum_cienia = numpy.max(fragment_cienia)&lt;br /&gt;
prog_cienia = 1.0*szum_cienia&lt;br /&gt;
&lt;br /&gt;
for n, val in enumerate(cien.flat):&lt;br /&gt;
	if val &amp;lt; prog_cienia:&lt;br /&gt;
		cien.flat[n] = 0&lt;br /&gt;
	elif val &amp;gt;= prog_cienia:&lt;br /&gt;
		cien.flat[n] = 1&lt;br /&gt;
&lt;br /&gt;
#pylab.subplot(2,3,6)&lt;br /&gt;
#pylab.title(u&amp;quot;obraz czarno-bialy&amp;quot;)&lt;br /&gt;
#pylab.imshow(cien, cmap = pylab.cm.gray, interpolation = 'nearest')&lt;br /&gt;
&lt;br /&gt;
# ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
# szukanie średnicy na OY:&lt;br /&gt;
	# (kiedy już tło jest białe, a koła czarne)&lt;br /&gt;
lista_y = []&lt;br /&gt;
for y in range(900, 1300): # skrócenie granic, aby obliczać tylko dla obszaru z największym kołem&lt;br /&gt;
	liczba_jedynek = 0&lt;br /&gt;
	for x in range(800, 1200): # skrócenie granic, aby obliczać tylko dla obszaru z największym kołem&lt;br /&gt;
		if cien[x, y] == 1:&lt;br /&gt;
			liczba_jedynek = liczba_jedynek + 1&lt;br /&gt;
	lista_y.append(liczba_jedynek)&lt;br /&gt;
max_y = numpy.max(lista_y) # najszersza kolumna - jest średnicą&lt;br /&gt;
&lt;br /&gt;
# zamiana pikseli na milimetry:&lt;br /&gt;
y_mm = max_y * skala[1]&lt;br /&gt;
print &amp;quot;srednica najwiekszego kola:&amp;quot;, y_mm, &amp;quot;mm&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# ==============================================================================&lt;br /&gt;
&lt;br /&gt;
#pylab.show()&lt;br /&gt;
&lt;br /&gt;
# zapisanie pliku (jako pierwotna nazwa pacjenta):&lt;br /&gt;
#plan.save_as(&amp;quot;%(0).4f.dcm&amp;quot; %{&amp;quot;0&amp;quot;:pierwotna_nazwa})&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Tgubiec</name></author>
		
	</entry>
</feed>