NeruoTech platformunun tüm gücünü keşfedin. Kapsamlı dokümantasyon, adım adım kılavuzlar, video eğitimler ve uzman teknik destek ile projelerinizi bir üst seviyeye taşıyın. 7/24 canlı destek ve garantili çözümler.
NeruoTech platformunu 10 dakikada kullanmaya başlayın. Adım adım kılavuzumuzu takip edin.
app.neruotech.com/register adresinden ücretsiz hesabınızı oluşturun. Email doğrulamasını tamamlayın.
Dashboard > API Keys bölümünden yeni API anahtarınızı oluşturun. Anahtarınızı güvenli bir yerde saklayın.
Tercih ettiğiniz programlama dili için SDK'mızı kurun:
npm install neruotech-sdk
Test ortamında ilk API isteğinizi gönderin ve yanıtı kontrol edin. Hemen başlayın!
Platformumuzun tüm özelliklerini derinlemesine öğrenmek için hazırladığımız kapsamlı kaynaklar.
Tüm API endpoint'leri, parametreler, yanıt formatları ve best practice'ler için kapsamlı teknik dokümantasyon.
Adım adım görsel eğitimler, canlı kodlama oturumları ve uzman ipuçları içeren video kütüphanesi.
Pratik yaparak öğrenin. Canlı örneklerle etkileşimli şekilde platformu keşfedin.
Diğer geliştiricilerle etkileşim kurun, sorular sorun ve deneyim paylaşın.
Gerçek dünya senaryoları için hazırlanmış tam fonksiyonel örnek projeler ve kod snippet'leri.
NeruoTech platformunda uzmanlaşın ve resmi sertifikanızı alarak yeteneklerinizi kanıtlayın.
Özel senaryolar ve karmaşık entegrasyonlar için hazırlanmış detaylı teknik kılavuzlar.
Öncelikle gerekli kütüphaneleri yükleyin:
# requirements.txt requests>=2.28.0 pandas>=1.5.0
numpy>=1.23.0 python-dotenv>=0.21.0
Kurulum:
pip install -r requirements.txt
Aşağıdaki temel API istemcisini kullanarak başlayın:
import requests import json from datetime import datetime
import os from dotenv import load_dotenv # Ortam
değişkenlerini yükle load_dotenv() class NeuroTechClient:
def __init__(self, api_key=None,
base_url="https://api.neruotech.com/v1"): self.api_key =
api_key or os.getenv("NEUROTECH_API_KEY") self.base_url =
base_url self.session = requests.Session()
self.session.headers.update({ "Authorization": f"Bearer
{self.api_key}", "Content-Type": "application/json",
"User-Agent": "NeuroTech-Python-Client/1.0.0" }) def
get_eeg_devices(self): """Kullanılabilir EEG cihazlarını
listele""" response =
self.session.get(f"{self.base_url}/devices/eeg")
response.raise_for_status() return response.json() def
process_eeg_data(self, device_id, data, metadata=None):
"""EEG verisi işleme""" payload = { "device_id": device_id,
"data": data, "metadata": metadata or {}, "timestamp":
datetime.utcnow().isoformat() } response =
self.session.post( f"{self.base_url}/eeg/process",
json=payload ) response.raise_for_status() return
response.json() def get_neural_predictions(self, model_id,
input_data): """Nöral ağ tahmini al""" payload = {
"model_id": model_id, "input": input_data, "parameters": {
"confidence_threshold": 0.8, "batch_size": 32 } } response =
self.session.post( f"{self.base_url}/neural/predict",
json=payload ) response.raise_for_status() return
response.json()
# .env dosyasına API anahtarınızı ekleyin: #
NEUROTECH_API_KEY=your_api_key_here from neurotech_client
import NeuroTechClient import numpy as np # İstemciyi başlat
client = NeuroTechClient() # EEG cihazlarını listele devices
= client.get_eeg_devices() print(f"Kullanılabilir cihazlar:
{len(devices)}") # Örnek EEG verisi işleme sample_data = {
"channels": ["Fp1", "Fp2", "F3", "F4", "C3", "C4"],
"sampling_rate": 256, "samples": np.random.randn(256,
6).tolist() # 1 saniyelik veri } # EEG verisini işle result
= client.process_eeg_data( device_id="emotiv_epoc_x",
data=sample_data, metadata={ "patient_id": "test_001",
"session_type": "resting_state", "notes": "Test verisi" } )
print(f"İşlem sonucu: {result['status']}") print(f"Analiz
süresi: {result['processing_time_ms']}ms")
import requests from requests.exceptions import
RequestException import time class
NeuroTechClientWithRetry(NeuroTechClient): def
__init__(self, max_retries=3, backoff_factor=0.5, *args,
**kwargs): super().__init__(*args, **kwargs)
self.max_retries = max_retries self.backoff_factor =
backoff_factor def _make_request_with_retry(self, method,
endpoint, **kwargs): """Exponential backoff ile yeniden
deneme""" for attempt in range(self.max_retries): try:
response = self.session.request( method,
f"{self.base_url}/{endpoint}", **kwargs )
response.raise_for_status() return response except
requests.exceptions.HTTPError as e: if response.status_code
== 429: # Rate limit wait_time = (2 ** attempt) *
self.backoff_factor print(f"Rate limit aşıldı. {wait_time}s
bekleniyor...") time.sleep(wait_time) continue elif
response.status_code >= 500: # Sunucu hatası if attempt ==
self.max_retries - 1: raise wait_time = (attempt + 1) *
self.backoff_factor time.sleep(wait_time) continue else:
raise except RequestException as e: if attempt ==
self.max_retries - 1: raise wait_time = (attempt + 1) *
self.backoff_factor time.sleep(wait_time) continue raise
RequestException("Maksimum yeniden deneme sayısı
aşıldı")
NeruoTech platformu aşağıdaki EEG veri formatlarını destekler:
// JSON Formatı { "device": { "type": "emotiv_epoc_x",
"sampling_rate": 128, "channels": ["Fp1", "Fp2", "F3", "F4",
"C3", "C4", "P3", "P4", "O1", "O2", "F7", "F8", "T7", "T8",
"P7", "P8"], "impedance_check": true, "battery_level": 85 },
"recording": { "session_id": "session_20240115_001",
"start_time": "2024-01-15T10:30:00Z", "duration_seconds":
300, "conditions": ["eyes_closed", "resting_state"],
"environment": { "noise_level": "low", "lighting": "dim",
"temperature_celsius": 22.5 } }, "data": { "format":
"float32", "units": "microvolts", "samples": [ [12.5, 14.2,
11.8, 13.9, 10.5, 15.2, 9.8, 11.3, 8.7, 10.2, 13.1, 12.8,
10.9, 11.5, 9.2, 10.7], [13.1, 13.8, 12.1, 14.0, 11.2, 14.8,
10.1, 12.0, 9.0, 10.8, 12.9, 13.2, 11.3, 12.0, 9.5, 11.2] //
... daha fazla örnek ], "timestamps": [0, 7.8125, 15.625,
23.4375, 31.25] // milisaniye }, "metadata": { "patient": {
"id": "patient_001", "age": 32, "gender": "male",
"handedness": "right", "medical_history": ["no known
conditions"] }, "researcher": { "id": "researcher_015",
"notes": "Baseline recording for cognitive study" } }
}
EEG verileri analiz öncesinde şu adımlardan geçer:
# EEG Ön İşleme Pipeline'ı import numpy as np from scipy
import signal import matplotlib.pyplot as plt class
EEGPreprocessor: def __init__(self, sampling_rate=256):
self.sampling_rate = sampling_rate def
remove_dc_offset(self, data): """DC offset kaldırma"""
return data - np.mean(data, axis=0) def
apply_bandpass_filter(self, data, lowcut=0.5, highcut=45.0):
"""Band-pass filtre uygulama""" nyquist = 0.5 *
self.sampling_rate low = lowcut / nyquist high = highcut /
nyquist b, a = signal.butter(4, [low, high], btype='band')
return signal.filtfilt(b, a, data, axis=0) def
remove_artifacts(self, data, threshold=100): """Aşırı
amplitüd artefaktlarını kaldırma""" std_dev = np.std(data,
axis=0) mean_val = np.mean(data, axis=0) mask = np.abs(data
- mean_val) < (threshold * std_dev) return np.where(mask,
data, mean_val) def apply_notch_filter(self, data, freq=50):
"""Şebeke gürültüsü için notch filtre""" nyquist = 0.5 *
self.sampling_rate freq_normalized = freq / nyquist b, a =
signal.iirnotch(freq_normalized, 30) return
signal.filtfilt(b, a, data, axis=0) def segment_data(self,
data, window_seconds=2, overlap=0.5): """Veriyi segmentlere
ayırma""" window_samples = int(window_seconds *
self.sampling_rate) step = int(window_samples * (1 -
overlap)) n_segments = (len(data) - window_samples) // step
+ 1 segments = [] for i in range(n_segments): start = i *
step end = start + window_samples
segments.append(data[start:end]) return
np.array(segments)
EEG sinyallerini frekans bantlarına ayırma:
class EEGBandAnalyzer: def __init__(self, sampling_rate):
self.sampling_rate = sampling_rate self.bands = { 'delta':
(0.5, 4), 'theta': (4, 8), 'alpha': (8, 13), 'beta': (13,
30), 'gamma': (30, 45) } def compute_band_power(self, data):
"""Her kanal için bant güçlerini hesapla""" from
scipy.signal import welch n_channels = data.shape[1]
band_powers = {band: np.zeros(n_channels) for band in
self.bands} for ch in range(n_channels): # Power Spectral
Density hesapla freqs, psd = welch(data[:, ch],
fs=self.sampling_rate, nperseg=256) # Her bant için güç
integralini hesapla for band, (low, high) in
self.bands.items(): idx = np.logical_and(freqs >= low, freqs
<= high) band_powers[band][ch] = np.trapz(psd[idx],
freqs[idx]) return band_powers def
compute_alpha_asymmetry(self, band_powers): """Frontal alpha
asimetrisini hesapla""" # Örnek: F3 ve F4 kanalları için
alpha asimetrisi alpha_power = band_powers['alpha'] f3_idx =
2 # F3 kanalı indeksi f4_idx = 3 # F4 kanalı indeksi
asymmetry = (alpha_power[f4_idx] - alpha_power[f3_idx]) / \
(alpha_power[f4_idx] + alpha_power[f3_idx]) return
asymmetry
İhtiyaçlarınıza uygun teknik destek planını seçin. Her plan 7/24 destek ve SLA garantisi içerir.
Sık karşılaşılan sorunlar ve hızlı çözüm önerileri.
Belirti: API'ye bağlanılamıyor, timeout
hataları
Çözüm:
Sistem Durumu
sayfasını kontrol edin. Firewall ayarlarınızı doğrulayın. API
endpoint'lerinin erişilebilir olduğunu test edin.
Belirti: 401 Unauthorized, 403 Forbidden
Çözüm: API anahtarınızın geçerliliğini kontrol
edin.
API Keys
sayfasından yeni anahtar oluşturun. İzinlerinizi gözden geçirin.
Belirti: 429 Too Many Requests, quota exceeded
Çözüm: İstek hızınızı azaltın.
Rate Limiting Rehberi'ni inceleyin. Batch istekleri kullanın veya planınızı yükseltin.
Belirti: 400 Bad Request, validation errors
Çözüm: Gönderdiğiniz verilerin formatını
Data Formats
dokümanına göre kontrol edin. Zorunlu alanların eksik olmadığından
emin olun.
Size en uygun destek kanalından teknik yardım alın.
Anlık yardım için canlı chat destek ekibimizle iletişime geçin. 7/24 hizmet ve hızlı çözüm.
Canlı Sohbet BaşlatSorununuzu görsel olarak paylaşın. Uzman mühendislerimiz ekran paylaşımı ile anında çözüm sunar.
Ekran PaylaşKodunuzu uzmanlarımıza gönderin. Best practice'ler, performans optimizasyonu ve güvenlik incelemesi.
Kod GönderUzman mühendislerimizle birebir görüşme ayarlayın. Derinlemesine teknik destek ve stratejik danışmanlık.
Randevu AlSorununuz acil mi? Teknik ekibimiz size en kısa sürede yardımcı olacaktır. 7/24 destek, SLA garantili yanıt süreleri ve uzman çözümler.