AugeLab Studio Manual
Türkçe
Türkçe
  • 👋AugeLab Studio Kullanıcı Kılavuzuna Hoş Geldiniz
  • 📘Giriş
    • AugeLab Studio
    • Ana Özellikler
    • Kullanım Durumları
    • Sistem Gereksinimleri
  • 🚀Başlarken
    • Kayıt Olma
    • Kurulum
    • İlk Bakış
    • Basit Tur
    • İlk Projeniz
      • Temel Bilgiler
      • Tespit
      • Tamamlama
    • Daha Fazla Yerel Örnek
    • Daha Fazla Okuma
  • 🖥️AugeLab Studio Arayüzü
    • Ayrıntılı İnceleme
    • Senaryo Alanı
    • Menü ve Araç Çubuğu
    • Projeleri Yönetme
    • Yapay Zeka Yükleme ve Daha Fazlası
      • Modül İndirme ile Yapay Zeka Kullanın
  • 🧱Fonksiyon Blokları
    • Blok Yapıları
    • Sockets
    • Bloklar Kolonu
    • Bağlantılar
    • Tüm Fonksiyon Blokları
      • AI Blocks
        • Face Detection
        • Mask Detection
        • Object Detection - Custom
        • Object Detection
        • Pose Estimation
        • Safety Equipment Detection
        • Social Distance Detector
        • Super Resolution
        • Text Detection
        • OCR
      • CNN Blocks
        • Average Pooling 2D
        • Batch Normalization
        • Choose Folder 2D
        • Compile Model
        • Conv. Sep. Layer 2D
        • Conv. Trans. Layer 2D
        • Convolutional Layer 2D
        • Dropout Layer
        • Flatten Layer 2D
        • Fully Connected
        • Global Average Pooling 2D
        • Global Max Pooling 2D
        • Input Layer 2D
        • Loss CCE
        • Max Pooling 2D
        • Metrics Accuracy
        • Model EfficientNet
        • Model MobileNet
        • Model ResNet
        • Model VGG
        • Optimizer Adadelta
        • Optimizer Adagrad
        • Optimizer Adam
        • Optimizer Adamax
        • Optimizer FTRL
        • Optimizer Nadam
        • Optimizer RMSProp
        • Optimizer SGD
        • ReLU Layer
        • Softmax Layer
        • Training Parameters
      • Data/Logic
        • Flow Control
          • Batch Concatenation
          • Batch Processing
          • Debatch
          • Get Batch Size
          • HMI Background
          • Subsystem Enabled
          • Subsystem In
          • Subsystem Loop
          • Subsystem Out
          • Subsystem
        • logic
          • All True
          • And
          • Demux
          • Equals
          • Greater
          • Logic Operations
          • Mux
          • Not
          • Or
          • Set - Reset
          • Smaller
        • Mathmetical Operations
          • Add
          • Counter
          • Divide
          • Math Operations
          • Maximum
          • Minimum
          • Multiply
          • Not Equals
          • Round
          • Square Root
          • Subtract
          • Trigonometry
        • Data Operations
          • Data Memory
          • Data to JSON
          • Data Type Converter
          • Datetime Compare
          • Dictionary Operations
          • Exclude Nones
          • Find Substring
          • Get Element
          • Is None
          • List Operations
          • Parse Data Dictionary
          • Replace None
          • String Merge
          • String Operations
        • Referencing
          • Data Read Global
          • Data Read Local
          • Data Write Global
          • Data Write Local
          • Debug Input
          • Tag From
          • Tag To
        • Signal Operators
          • Delay Step
          • Edge Falling
          • Edge Rising
          • Multi Port Switch
          • OFF Delay
          • ON Delay
      • Image/Transformations
        • Analysis
          • Color Density Percentage
          • Get Dimension
          • Histogram On Curve
          • Histogram On Line
          • Image Color Match
          • Image Memory
          • Image Resolution and Channel Value
          • Maximum Images
          • Mean Value of Image
          • Measure Position Distance
          • Minimum Images
          • Non-zero of Image
          • Std. of Image
          • Structural Similarity
        • Transformation Filters
          • Auto Alignment
          • Auto Contrast
          • Color Quantizer and Clustering
          • Color Space
          • Contrast-Brightness-Gamma
          • Contrast Optimization
          • Deconvolution
          • Denoising
          • Distance Transformation
          • FloodFill
          • Grab Cut Algorithm
        • Color Filters
          • 2D Filter
          • Apply Mask
          • Bilateral Filter
          • Blur
          • Edge Filter
          • HSV Filter
          • Image Adaptive Threshold
          • Image Threshold
          • Invert Image
          • Morphological Transformations
          • Normalize Image
          • RGB Mask
          • RGB Set
          • Sobel Filter
        • Operations
          • Add Images Weighted
          • Add Images
          • Collage Images
          • Divide Images
          • Flip Image
          • Image AutoRotator
          • Image Concatenate
          • Image Resize
          • Image Resizer
          • Merge Channels
          • Multiply Images
          • Polar Transform
          • Rotate Image Angle
          • Slice Image
          • Split Image
          • Subtract Images
      • Detections/Shapes
        • Detectors
          • Barcode Reader
          • Blob Detector
          • Blur Detector
          • Circle Detector
          • Corner Detector
          • Custom CNN Model
          • Data Matrix Reader
          • Detect Reference
          • Feature Detector
          • Find Object - Multiple Image
          • Find Object
          • Find Reference
          • Harris Corner Filter
          • Line Detector
          • Match Shapes
          • Measure Object Distance
          • Shape Detector
        • Draw
          • Draw Detections
          • Draw Line
          • Draw Point
          • Draw Rectangle
          • Draw Result On Image
          • Write Date On Image
          • Write Text On Image
        • Roi Processing
          • Check Area (Polygon)
          • Check Area
          • Get Pixel Mouse
          • Get Pixel
          • Get ROI
          • Image ROI Center
          • Image ROI Polygon
          • Image ROI Select Multi
          • Image ROI Select
          • Image ROI
          • Perspective Transform
          • Rectangles in Rectangle
        • Shape Analysis
          • Approximate Contour
          • Choose Line
          • Contour to Image
          • Fill Contour
          • Find Contour
          • Hull Convex
          • Minimum Circle
          • Minimum Ellipse
          • Minimum Rectangle
          • Minimum Rotated Rectangle
          • Most Similar Shape
          • Point Polygon Test
      • Input/Output
        • Communication
          • Modbus Connect
          • Modbus Read
          • Modbus Write
          • MQTT Publish
          • MQTT Subscribe
          • OPC UA Client
          • OPC UA Read
          • OPC UA Write
          • REST API - Get
          • REST API - Post
          • Send Mail
          • Siemens S7 Connect
          • Siemens S7 Read
          • Siemens S7 Write
        • Data Inputs
          • Date-Time List
          • Date-Time
          • Headless Check
          • Keyboard/Barcode Reader
          • Logic Input
          • Number Input
          • Number Range
          • PWM (Pulse Width Modulation)
          • Rising Edge
          • String Input
          • Text
        • Image Inputs
          • Camera IP (ONVIF)
          • Camera IP
          • Camera USB External
          • Camera USB Vidgear
          • Camera USB
          • Load Image From Path
          • Load Image
          • Make Image
          • Pixel
          • Video
        • Outputs/Exports
          • CSV Export
          • Cycle Timer
          • File/Folder Operations
          • GPU Statistics
          • Image Logger
          • Image Write
          • Led Output
          • Multi Image Write
          • Output
          • Scope
          • Show Image
          • Stop
  • 📡Cihazlar ve İletişim
    • Kamera Kullanımı
    • İletişim Protokolleri
    • Daha Fazla Okuma
  • 🧩Örnek Projeler
    • Demo Projeler
    • Çevre Ölçümü
    • Nesne Sayma
    • Karo Genişliği Ölçümü
    • İnsan Tespiti
    • Nesne Tespiti
  • 🔑Ana Özellikler
    • Özel HMI Uygulamaları Yayınlayın
    • Nesne Tespiti için Verileri İşaretleyin
    • Özel AI Modelleri Eğitin
      • Doğru Veritabanını Seçme
      • Eğitim Ne Zaman Durmalı
    • Eklentiler Oluşturun
      • Bileşenler
      • Kodlama Referansı
    • Çözümlerinizi Toplulukla Paylaşın
    • Python Paketlerini Yükleyin
  • 📑SSS
    • Bizimle İletişime Geçin
    • SSS
    • Tam bir projeyi kurma
  • Ek Kaynaklar
    • Eğitim Takvimi
    • Eğitim Materyalleri
    • AugeLab Uzmanları
  • Ek
    • Sözlük
    • Kaynaklar
Powered by GitBook
On this page
  • Bootstrap Aşaması
  • Zorunlu İçe Aktarmalar
  • Topluluk Modüllerinin İçe Aktarılması
  • Sınıf Tanımı
  • Sınıf Nitelikleri-Yöntemleri
  • `Block.op_code: str`
  • `Block.tooltip: str`
  • `Block.input_sockets: list[SocketType]`
  • `Block.output_sockets: list[SocketType]`
  • `Block.param: dict[str, Component]`
  • `Block.input: dict[str, object]`
  • `Block.output: dict[str, object]`
  • `Block.register_resource(name: str = '', path: str = '') -> str`
  • `Block.get_resource(name: str = '') -> str`
  • `Block.init(self)`
  • `Block.run(self)`
  • `QAFileDialog`
  • `add_block(My_Block.op_code, My_Block)`

Was this helpful?

  1. Ana Özellikler
  2. Eklentiler Oluşturun

Kodlama Referansı

AugeLab'da sağlanan örnek özel blok scripti:

Example_Block code
## Bootstrap phase
from studio.custom_block import *
# Importing of community modules 
import cv2
import numpy as np

## Class Definition 
class Example_Block(Block):
	op_code = 'Example_Block' # DO NOT CHANGE !!!, must be same as class name

	def init(self):
		self.width = 200
		self.height = 120
		self.tooltip = 'Increment image values by one.'

		self.input_sockets = [SocketTypes.ImageAny('in1')]
		self.output_sockets = [SocketTypes.ImageAny('out1')]

		self.param['text1'] = TextInput(text= '5')

	def run(self):
		in1 = self.input['in1'].data
		self.output['out1'].data = in1 + 1


add_block(Example_Block.op_code, Example_Block)

Bootstrap Aşaması

Zorunlu İçe Aktarmalar

Örnek script her zaman belirli modüllerin içe aktarılmasıyla başlar. studio.custom_block import *, blokunuzda kullanmanız için gerekli süper sınıfları, widget'ları ve yöntemleri içe aktarır. Bu satır, tüm sınıf tanımlamaları için zorunludur.

Topluluk Modüllerinin İçe Aktarılması

Burada, en çok kullanılan iki kütüphane zaten sizin için içe aktarılmak üzere ayarlanmıştır. Özel bloklarınızda OpenCV ve numpy kütüphanelerini kullanabilirsiniz.

Özel kütüphaneleri de İçe Aktar Paket Penceresi ile yükleyerek içe aktarabilir ve özel statik değişkenleri ayarlayabilirsiniz.

AugeLab Studio'da sağlanan tüm bloklar çapraz platform uyumludur. Ancak, topluluk modüllerinin kullanılması bu uyumu tehlikeye atabilir.

Sınıf Tanımı

Sınıf Nitelikleri-Yöntemleri

`Block.op_code: str`

op_code, özel bloğunuz için benzersiz bir tanımlayıcı dizesini tanımlar. Özel bloğunuzu yüklemek için, kendinize özel bir blok adı seçmelisiniz.

`Block.tooltip: str`

tooltip, kullanıcıların özel bloklar üzerinde fare ile gezindiğinde ipucu gösterilmesini sağlar.

`Block.input_sockets: list[SocketType]`

SocketType, iki argüman alır:

...
SomeSocketClass(SocketTypes.BaseSocketClass):
    def __init__(self, name: str = '', multiple: bool = False):
        ''' 
            name: Soket grafiklerinin yanında gösterilen metin
            multiple: Bir tür listesini belirtmek için yatay bir çizgi çizer.
        '''
        ...

SocketType listesi aşağıda görülebilir:

  • [ImageAny]: ImageRGB | ImageGray

  • [ImageRGB]: npt.NDArray[np.uint8] # [N, N, 3]

  • [ImageGray]: npt.NDArray[np.uint8] # [N, N]

  • [Integer]: int

  • [Float]: int

  • [Number]: float | int

  • [Boolean]: bool

  • [String]: str

  • [Generic]: object

  • [Shape]: list[list[int, int], ...]

  • [Pixel]: tuple[int] | tuple[int, int, int]

  • [Point]: tuple[int, int]

`Block.output_sockets: list[SocketType]`

`Block.param: dict[str, Component]`

Bu özellik, blok bileşenlerinizi ve etkileşimli widget'ları benzersiz adlarıyla tutar. Kullanabileceğiniz birkaç bileşen vardır:

`Block.input: dict[str, object]`

input özelliği, özel bloğunuza veri aktarımı için dinamik bir dict'dir. Soket adları aracılığıyla giriş soketlerinizden veri alabilirsiniz.

...
class Example_Block(Block):
    ...
    def init(self):
        ...
        self.input_sockets = [SocketTypes.ImageAny('Image'),
                              SocketTypes.Number('Constant')]
        ...
        
    def run(self):
        image = self.input['Image'].data
        constant = self.input['Image']
        ...

`Block.output: dict[str, object]`

output özelliği, özel bloğunuzdan veri dışarı aktarmak için dinamik bir dict'dir. Çıkış soketlerinize veri yerleştirirken benzersiz soket adlarını kullanabilirsiniz.

...
class Example_Block(Block):
    ...
    def init(self):
        ...
        self.output_sockets = [SocketTypes.ImageAny('Result'),
                              SocketTypes.Number('Detections')]
        ...
        
    def run(self):
        ...
        self.output['Result'].data = img_detections_drawn
        self.output['Detections'].data = n_detections
        

`Block.register_resource(name: str = '', path: str = '') -> str`

Yolları kaydeder ve bunları otomatik olarak senaryo dosyasına kaydeder.

Genellikle, düz yollar kullanmak, senaryo dosyalarını farklı bilgisayarlar arasında taşırken sorun yaratabilir. Ancak, otomatik kaynak yönetimi kullanarak genel veya göreli yolları kullanabilirsiniz. Kaynağı senaryo dosyasından daha düşük bir yolda depolamak, scriptinizin doğru yolu almasına olanak tanır.

Argümanlar:

name: str : Bir yolu ayırt etmek için sağlanan benzersiz ad.

path: str: Kaydedilecek yol.

Döndürür:

path: str: Kaydedilmiş yol.

`Block.get_resource(name: str = '') -> str`

Özel blok içindeki kaynak yöneticisine sağladığınız kaynağı almanıza olanak tanır.

Argümanlar:

name: str : Bir yolu ayırt etmek için sağlanan benzersiz ad.

Döndürür:

path: str: Kaydedilen yol.

`Block.init(self)`

Bu bölüm, özel bir blok sürüklenip bırakıldığında, kopyalanıp yapıştırıldığında veya yeni bir senaryoda yüklendiğinde her seferinde gerçekleştirilir. Bu bölümde genellikle şunları yapmak önerilir:

  • Özel blok için kaynaklar yüklemek

  • Kullanılacak bileşenleri tanımlamak (metin girişleri, düğmeler vb.)

  • Çalışma zamanında değişen iç blok durumları.

`Block.run(self)`

Run yöntemi, AugeLab Studio'da bir senaryonun her adımında yürütülür. Özel bloklarınızın iç durumlarını, özel modülleri, sabitleri vb. kullanabilirsiniz.

Girişleri, süper Block sınıfının sağladığı dinamik özellikleri kullanarak alabilir ve çıktılar gönderebilir, bileşenlerinizin yapılandırmalarını değiştirebilir ve doğru yürütme mantığını seçmek için bileşen durumunu okuyabilirsiniz.

`QAFileDialog`

QAFileDialog, kullanıcılara dosya yolu seçme diyaloğu sunan statik bir sınıftır:

`QAFileDialog.getOpenFileName(**kwargs)`

Argümanlar

caption: str = '': Dosya diyalog başlığının başlığı

directory: str = '': Diyalogun başlangıç dizini

filter: str = '': Filtrelenecek dosya adları, örneğin -> 'Görüntü Dosyaları (*.png *.jpg *.bmp)'

Döndürür

path:str: Kullanıcı tarafından seçilen yol.

`QAFileDialog.getExistingDirectory`

Argümanlar

caption: str = '': Dosya diyalog başlığının başlığı

directory: str = '': Diyalogun başlangıç dizini

Döndürür

path:str: Kullanıcı tarafından seçilen yol.

`add_block(My_Block.op_code, My_Block)`

Bu bölüm, Tasarımcı Penceresi tarafından otomatik olarak oluşturulur ve değiştirilmemelidir. Değiştirilmesi gerekiyorsa, blok adının sınıf adı ile ve op_code ile aynı olduğundan emin olun.

PreviousBileşenlerNextÇözümlerinizi Toplulukla Paylaşın

Last updated 8 months ago

Was this helpful?

Sınıfınızın adı, Blok Adı metin düzeninde sağladığınız bağlı olarak belirlenir. Bu bölümde istediğiniz gibi nitelikler veya yöntemler tanımlayabilirsiniz.

input_sockets niteliği soket türlerini depolar. Her soket türü, veya bölümünde sizin için otomatik olarak oluşturulur.

Bu bölümde de üzerindeki aynı kurallar geçerlidir.

Sağlanan yolu almak için yöntemini kullanın.

Bir yolu kaydetmek için yöntemini kullanın.

🔑
başlığa
Giriş Soketi
Çıkış Soketi
Giriş soketleri
Metin Girişi
Açılır Liste
Etiket Metin
Kaydırıcı
Etiketli Kaydırıcı
Onay Kutusu
Düğme
Görüntü
Tablo
get_resource
register_resource
Örnek Özel Blok
Özel blokta gösterilen ipucu