Skrypt do wizualizacji detekcji w 3D

Przykładowe skrypty wykorzystujące dane z aplikacji.
Każdy skrypt powinien być opisany i wytłumaczony jak działa.
mpknap
Posty: 60
Rejestracja: ndz lut 11, 2018 12:26 pm

Skrypt do wizualizacji detekcji w 3D

Post autor: mpknap » ndz sty 27, 2019 7:32 pm

Skrypt służy do prezentacji detekcji w 3D
Kod zamieszczony jest pod linkiem : https://github.com/credo-science/-Simpl ... esentation

Skrypt 3Dplot.py (Python), przekształca dane zawarte w pliku detekcja.csv na trójwymiarowy obraz detekcji.

Do przygotowania pliku CSV należy użyć plik PROJECT1.EXE (napisany w LazarusPascal/Win).

Przed jego uruchomieniem musimy mieć pobrany ze strony https://api.credo.science/web/ plik graficzny detekcji w formacie PNG, BMP, etrc.
Przyjęto że grafika ma wymiary 50x50 pixeli.

Uruchamiamy Project1.exe wczytujemy plik graficzny i exportujemy do CSV.

Przykładowa detekcja 2D
28Sample.png
28Sample.png (446 Bajtów) Przejrzano 787 razy
Uruchamiamy 3Dplot.py. I otrzymujemy 3D
3d.JPG
3d.JPG (54.23 KiB) Przejrzano 787 razy

ŚRODOWISKO PROGRAMISTYCZNE
Lazarus Pascal/Python3/Windows
Standardowe biblioteki dla Python3 + Axes3D+ matplot + pandas + seaborn


DEDYKOWANY SYSTEM OPERACYJNY
Pisany pod Windows 10, nie testowany na innym systemie.

Inny przykład :
pobrane (1).png
pobrane (1).png (920 Bajtów) Przejrzano 785 razy
3d.JPG
3d.JPG (53.17 KiB) Przejrzano 785 razy

slawekstu
Site Admin
Posty: 33
Rejestracja: pt lis 10, 2017 11:24 pm

Re: Skrypt do wizualizacji detekcji w 3D

Post autor: slawekstu » pn sty 28, 2019 2:45 pm

Dobra robota ;)
Jak znajdę więcej czasu chętnie przeanalizuję na spokojnie, może przyda się to do tworzenia filtru.
Kto wie ;)

mpknap
Posty: 60
Rejestracja: ndz lut 11, 2018 12:26 pm

Re: Skrypt do wizualizacji detekcji w 3D

Post autor: mpknap » czw sty 31, 2019 6:51 am

Teraz całość w Pythonie. Wystarczy wprowadzić plik PNG.



from __future__ import with_statement
from PIL import Image
from mpl_toolkits.mplot3d import Axes3D
import matplotlib.pyplot as plt
import pandas as pd
import seaborn as sns


#########################
# Convert PNG to CSV
#########################

im = Image.open('42Sample.png') #Load png file

#load the pixel info
pix = im.load()

#get a tuple of the x and y dimensions of the image
width, height = im.size
dd=''
n=''
#open a file to write the pixel data
with open('output_file.csv', 'w+') as f:
for a in range(1,width-1):
f.write('V'+str(a)+',')
f.write('V'+str(width)+'\n')

#read the details of each pixel and write them to the file
for y in range(height):
for x in range(width-2):

r = pix[x,y][0]
g = pix[x,y][1]
b = pix[x,y][2]
n=str((r+g+b) )
dd=dd+str(n)+','

dd=dd+str(n)
f.write(str(dd)+'\n')
dd=''

f.close()


##########################################
# S H O W 3 D
##########################################
url = 'output_file.csv'
data = pd.read_csv(url)

# Transform it to a long format
df=data.unstack().reset_index()
df.columns=["X","Y","Z"]

# And transform the old column name in something numeric
df['X']=pd.Categorical(df['X'])
df['X']=df['X'].cat.codes

# Make the plot
fig = plt.figure()
ax = fig.gca(projection='3d')
ax.plot_trisurf(df['Y'], df['X'], df['Z'], cmap=plt.cm.viridis, linewidth=0.2)
plt.show()

# to Add a color bar which maps values to colors.
surf=ax.plot_trisurf(df['Y'], df['X'], df['Z'], cmap=plt.cm.viridis, linewidth=0.2)
fig.colorbar( surf, shrink=0.5, aspect=5)
plt.show()

# Rotate it
ax.view_init(30, 45)
plt.show()

# Other palette
ax.plot_trisurf(df['Y'], df['X'], df['Z'], cmap=plt.cm.jet, linewidth=0.01)
plt.show()

Grzegorz
Posty: 50
Rejestracja: czw gru 13, 2018 9:15 pm

Re: Skrypt do wizualizacji detekcji w 3D

Post autor: Grzegorz » ndz lut 03, 2019 2:46 pm

mpknap pisze:
czw sty 31, 2019 6:51 am
Teraz całość w Pythonie. Wystarczy wprowadzić plik PNG.
Witam,
Czy da się ten skrypt uruchomić np. w
QPython3 na androida? Jeśli tak, to prosiłbym o jakieś wskazówki jak to zrobić.
Z góry dzięki za pomoc.

Grzegorz
Posty: 50
Rejestracja: czw gru 13, 2018 9:15 pm

Re: Skrypt do wizualizacji detekcji w 3D

Post autor: Grzegorz » czw lut 21, 2019 6:00 pm

Witam ponownie,
Nie mam pojęcia o skryptach Phytona ale znalazłem wczoraj mały programik 3D Color Inspector pod adresem https://imagej.nih.gov/ij/plugins/color-inspector.html. Może się przyda w analizie detekcji.
Pozdrawiam
Załączniki
Przechwytywanie.JPG
Przechwytywanie.JPG (66.08 KiB) Przejrzano 696 razy

Bogdan51
Posty: 64
Rejestracja: wt lis 21, 2017 8:04 pm

Re: Skrypt do wizualizacji detekcji w 3D

Post autor: Bogdan51 » czw lut 21, 2019 10:37 pm

Dziękuję za podanie linków
u mnie tak wyszło
Załączniki
przekonwenterowana detekcja.jpg
przekonwenterowana detekcja.jpg (241.15 KiB) Przejrzano 687 razy

mpknap
Posty: 60
Rejestracja: ndz lut 11, 2018 12:26 pm

Re: Skrypt do wizualizacji detekcji w 3D

Post autor: mpknap » pt lut 22, 2019 6:48 am

:o OOO!!! Bardzo ciekawe. Szukałem czegoś takiego. Ogólnie odkąd odnalazłem projekt CREDO i zacząłem pisać program dla Windows, gdzieś tam męczyła mnie taka wizualizacja. Wiedziałem że łatwo detekcję można przerobić na 3D, i to miałbyć punkt nr 2 do zrobienia :). Fajna by była taka opcja w telefonie. Klikamy w obraz detekcji i oglądamy ją w trzech wymiarach ;)

Bogdan51
Posty: 64
Rejestracja: wt lis 21, 2017 8:04 pm

Re: Skrypt do wizualizacji detekcji w 3D

Post autor: Bogdan51 » sob lut 23, 2019 9:35 pm

Jeszcze jeden przykład, ;)
Załączniki
test1.jpg
test1.jpg (159.65 KiB) Przejrzano 662 razy
operacje na filtrach.jpg
operacje na filtrach.jpg (141.35 KiB) Przejrzano 662 razy

Bogdan51
Posty: 64
Rejestracja: wt lis 21, 2017 8:04 pm

Re: Skrypt do wizualizacji detekcji w 3D

Post autor: Bogdan51 » sob lut 23, 2019 10:00 pm

spectrum LUT
Załączniki
manipulacja na filtrach 1.jpg
manipulacja na filtrach 1.jpg (70.87 KiB) Przejrzano 661 razy

Grzegorz
Posty: 50
Rejestracja: czw gru 13, 2018 9:15 pm

Re: Skrypt do wizualizacji detekcji w 3D

Post autor: Grzegorz » ndz lut 24, 2019 9:00 pm

Podaje kolejny link http://mkweb.bcgsc.ca/color-summarizer/, który może być świetnym uzupełnieniem ImageJ do statystycznej analizy detekcji.
Załączniki
czarna dziura....JPG
czarna dziura....JPG (16.27 KiB) Przejrzano 649 razy
czarna dziura...JPG
czarna dziura...JPG (30.12 KiB) Przejrzano 649 razy
czarna dziura..JPG
czarna dziura..JPG (64.72 KiB) Przejrzano 649 razy

ODPOWIEDZ