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
Uruchamiamy 3Dplot.py. I otrzymujemy 3D
Ś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 :
Skrypt do wizualizacji detekcji w 3D
Re: Skrypt do wizualizacji detekcji w 3D
Dobra robota 
Jak znajdę więcej czasu chętnie przeanalizuję na spokojnie, może przyda się to do tworzenia filtru.
Kto wie

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

Re: Skrypt do wizualizacji detekcji w 3D
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()
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()
Re: Skrypt do wizualizacji detekcji w 3D
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
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 (66.08 KiB) Przejrzano 9267 razy
Re: Skrypt do wizualizacji detekcji w 3D
Dziękuję za podanie linków
u mnie tak wyszło
u mnie tak wyszło
- Załączniki
-
- przekonwenterowana detekcja.jpg (241.15 KiB) Przejrzano 9258 razy
Re: Skrypt do wizualizacji detekcji w 3D



Re: Skrypt do wizualizacji detekcji w 3D
Jeszcze jeden przykład, 

- Załączniki
-
- test1.jpg (159.65 KiB) Przejrzano 9233 razy
-
- operacje na filtrach.jpg (141.35 KiB) Przejrzano 9233 razy
Re: Skrypt do wizualizacji detekcji w 3D
spectrum LUT
- Załączniki
-
- manipulacja na filtrach 1.jpg (70.87 KiB) Przejrzano 9232 razy
Re: Skrypt do wizualizacji detekcji w 3D
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 (16.27 KiB) Przejrzano 9220 razy
-
- czarna dziura...JPG (30.12 KiB) Przejrzano 9220 razy
-
- czarna dziura..JPG (64.72 KiB) Przejrzano 9220 razy