04/2009 |
5.21 |
Nowe funkcje
|
|
|
- Kontrola wzmacniaczy została rozszerzona tak by obsłużyć do 80 kanałów falowych.
Usunięte błędy
- Komenda skryptowa ScriptRun() akceptowała argumenty 0 lub 1, a teraz, zgodnie z dokumentacją, akceptuje 1 lub 2.
- Przypisanie zmiennej całkowitej wartości typu double, o najmniejszej możliwej wartości ujemnej, generowało błąd.
- Wirtualne kanały z zastosowanym przetwarzaniem lub też posiadające kanał bazowy z włączonym przetwarzaniem, nie były poprawnie unieważniane, co prowadziło do artefaktów podczas ich wykreślania online.
- Jeśli przy otwartym oknie dialogowym dopasowania dodano znacznik klawiaturowy lub TextMark, zresetowaniu ulegały parametry w oknie dialogowym dopasowania.
- W graficznym edytorze sekwencji, ustawienie pulsu DAC Single pulse, amplitude change on repeat nie generowało żadnych zmian jeśli w polu Change znajdowała się ujemna wartość.
- Naciśnięcie klawisza Esc w innej aplikacji mogło zatrzymać wykonywanie skryptu Spike2.
- Nie działało wyszukiwanie cech Outside thresholds i Within thresholds w kanale zdarzeń wykreślanym w postaci wykresu tempa lub częstotliwości.
- Wartości NaN (nie numer) i INF (nieskończoność) w kanale RealWave mogły powodować, że niektóre karty graficzne z włączonym przyspieszeniem mogły generować zniekształcone obrazy lub działać błędnie.
- Komenda skryptowa FileSaveAs()nie sprawdzała czy ścieżki są nieprawidłowe lub nie istnieją, co powodowało pojawienie się informacji o błędzie zamiast zwrotu ujemnego kodu błędu.
- W graficznym edytorze sekwencji niepoprawnie działało ustawienie rampy z dowolnej wartości do wartość pełnej skali DAC.
- Dodanie kanału wirtualnego powodowało niepotrzebne odświeżenie ekranu.
|
|
05/2008 |
5.20 |
Nowe funkcje
|
|
|
- Kompilator skryptów wykrywa błędy w użyciu macierzy, które poprzednio zostałyby wykryte dopiero podczas uruchomienia skryptu. Dla przykłady: var x, y[3]; x := y; teraz wygeneruje błąd podczas kompilacji.
Usunięte błędy
- W pliku dłuższym niż połowa maksymalnego możliwego czasu, podgląd sonogramu mógł sobie nie poradzić z wyświetleniem danych poza połową maksymalnego czasu.
- Jeśli użyto DlgValue$() w oknie dialogowym użytkownika aby zmienić pole tekstowe posiadające listę możliwych do wyboru wartości alternatywnych, pole mogło się zmienić, ale wynik z DlgShow() mógł być wciąż poprzednią wartością.
- Zatrzymanie próbkowania z wyłączonym zapisem na dysk, na jednym lub kilku kanałach, mogło wygenerować nieprawidłowo zamknięty plik danych. Narzędzie SonFix może naprawić takie pliki bez utraty danych. Plik z tym błędem może dziwnie zachowywać się w Spike2 dopóki nie zostanie naprawiony.
- Komenda skryptowa ViewTrigger(-5) nie zwracała akcji kursora 0.
- Wyjście falowe offline w menu Sampling oraz komenda skryptowa PlayOffline() nie działały, jeśli urządzeniem wyjściowym był Power1401 mkII.
- Możliwe było ustawienie przerw wykonywania skryptu (break points), jeśli posiadał on więcej niż 32767 linii, ale znacznik kroków nie pojawiał się, jak również skrypt nie był przewijany do właściwej linii.
- Ponowne ponumerowanie kursorów horyzontalnych mogło zawiesić Spike2 jeśli kursory te nie miały kolejnych numerów począwszy od 1.
- Usunięcie znajdującego się na wierzchu kanału, z grupy nadrysowanych kanałów z zablokowaną osią y i kursorem horyzontalnym, mogło zawiesić Spike2.
- Komendy skryptowe Print(), Print$() i PrintLog() mogły generować zniekształcone wyjście, jeśli drukowały więcej niż 255 znaków.
|
|
09/2007 |
5.19 |
Nowe funkcje
|
|
|
- Obecnie można próbkować przy pomocy Power1401 mk II.
Usunięte błędy
- W sekwencerze graficznym polecenia oczekujące aż kanał wykroczy poza określone granice mogły niewłaściwie skalować granice.
- Zmiana kanału falowego w oknie dialogowym filtra FIR nie powodowała aktualizacji osi częstotliwości w widoku reakcji.
- Jeśli podczas otwierania pliku w edytorze tekstowym, znakiem w pozycji 32767 był CR (powrót karetki), a następnym był LF (przesuw o wiersz), to para znaków CR LF była zamieniana na parę CR CR.
|
|
07/2007 |
5.18 |
Nowe funkcje
|
|
|
- Kompilator skryptów radzi sobie teraz z około 16 razy większą ilością tekstu literowego. Tekst literowy jest łańcuchem znaków zawartym w cudzysłowach: "To jest tekst literowy".
- Importer DSI: Wersja 5 formatu DSI używa zaszyfrowanych plików. By odczytywać te pliki należy zakupić specjalny klucz USB DSI. Proszę skontaktować się z CED w celu uzyskania dodatkowych informacji. By odczytywać pliki w starszym formacie nie potrzebny jest ten klucz.
- Importer Biopac: teraz obsługuje pliki w formacie wersji 45.
- Importer MED64: nowe okno wyboru do łączenia wszystkich sekcji danych w jeden ciągły strumień. Plik wyjściowy jest tworzony tak, że posiada miejsce na 128 kanałów (do 64 z nich będzie przechowywało importowane dane). To pozwala na tworzenie kanału WaveMark z każdej możliwej fali wejściowej.
- Importer Axon: akceptuje teraz pliki utworzone przez bibliotekę w wersji 2, używaną przez PClamp 10.
- Importer CED CFS: teraz poprawnie skaluje pliki zawierające kanały z danymi zapisanymi jako wartości zmiennoprzecinkowe o podwójnej precyzji (double precision floating point).
Usunięte błędy
- Jeśli użyto podglądu typu Measure to XY, z wszystkimi kanałami używającymi tej samej osi X, a następnie wykonano Copy As Text, wartości osi X mogły zostać pominięte w pliku wyjściowym jeśli punkt danych pierwszego kanału był niewidoczny.
- Możliwe było zawieszenie Spike2 poprzez utworzenie co najmniej trzech kanałów wirtualnych, usunięcie tego o najniższym numerze, a następnie utworzenie nowego kanału wirtualnego mającego zastąpić ten wcześniej usunięty.
- Podczas próbkowania można było zawiesić Spike2 tworząc nowy kanał przy pomocy aktywnych kursorów, wyszukujących przekroczenia progu w kanale z uruchomionym przetwarzaniem DCRemove.
|
|
03/2007 |
5.17 |
Nowe funkcje
|
|
|
- Okna dialogowe Add Item i Delete Item buforów pamięci lepiej sobie radzą ze zgadywaniem co zaoferować w polu czasu gdy otworzone zostanie okno dialogowe.
Usunięte błędy
- Teraz, histogramy z zablokowaną i przesuniętą osią y oraz więcej niż jednym słupkiem na piksel, są rysowane poprawnie.
- Komenda skryptowa YAxisLock() przerysowywała okno. Teraz jedynie unieważnia je.
- Możliwe było wywołanie rzekomego błędu "error reading data" podczas tworzenia kanału wirtualnego z poziomu skryptu.
- Możliwe było zawieszenie Spike2 wykonując korelację fal kanałów WaveMark lub falowych posiadających przerwy.
- Kanały wirtualne nie zawsze były przerysowywane gdy kanał, na którym były oparte był kasowany lub dodawany.
- Kanały wirtualne używające komendy RM()nie były unieważniane poprawnie gdy kanał RealMark uległ zmianie.
- Zapisywanie ruchu wertykalnego kursora w oknie wyników używało pozycji kursora zamiast numerów binów.
- Zapisywanie ruchu horyzontalnego kursora ustawiało błędny numer kanału.
- Przeszukiwanie wstecz kanału z filtrem znaczników nie zawsze było wykonywane poprawnie. Najczęstszym symptomem było nieprawidłowe wykreślanie danych RealMark.
- Jeśli użyto komendy skryptowej PlayWaveCycles() do zmiany ilości cykli obszaru, który był częścią powiązanej listy odtwarzanych obszarów, zmiana ilości cykli nie zawsze miała miejsce przy następnym odtworzeniu obszaru.
- Zmiana kanału wyzwalającego Raster w podglądzie czasu nie powodowała uaktualnienia ekranu.
- Można teraz ustawić podstawę czasową próbkowania dla Micro1401 mk II na mniej niż 2 mikrosekundy.
- Wsteczne przeszukiwanie aktywnymi kursorami w kanale wirtualnym mogło zawiesić Spike2 lub nie znaleźć cechy jeśli wyszukiwanie rozpoczynało się blisko początku pliku.
- Można teraz wczytywać konfigurację próbkowania z pliku danych o podstawie czasu innej niż 1 mikrosekunda. Poprzednio to było importowane tak jakby podstawa czasu wynosiła 1 mikrosekundę.
- Użycie skryptu do zamknięcia okna dialogowego regionów lub wartości kursorów mogło zawiesić Spike2.
|
|
09/2006 |
5.16 |
Nowe funkcje
|
|
|
- Gdy tylko jest to możliwe, Spike2 używa standardowych, systemowych wskaźników myszki. Umożliwia to użytkownikowi wybór swojego ulubionego wskaźnika myszki.
- Możesz teraz odczytywać zapisane w Spike2 wersji 6 wyniki uśredniania krzywych wykorzystujące nową opcję "item counts per bin". Zapisane zliczenia elementów są ignorowane w wersji 5.
Usunięte błędy
- Możliwe było zawieszenie podglądu XY zmieniając kanał z rozszerzalnego na stały rozmiar, a następnie dodając dane.
- W oknie dialogowym "Draw" po kliknięciu przycisku "Draw" przed zmianą wartości brzegowej kanału "Level", stosowane były domyśle wartości brzegowe.
- Komenda menu "File->Resources->Apply Resource" obecnie kasuje wszystkie kanały wirtualne, zanim zastosuje plik zasobów. Poprzednio możliwe było otrzymanie wielu kopii kanałów wirtualnych, wszystkich o tym samym numerze.
- Możliwe było zawieszenie Spike2 poprzez wpisanie w oknie dialogowym "Draw" złego łańcucha specyfikacji kanału.
- Usunięcie pierwszego ze zgrupowanych kanałów "OverDraw WM" nie powoduje już pojawienia się kanałów "OverDraw WM" w przesuniętym obszarze ekranu.
- Komenda skryptowa ChanSave() teraz poprawnie dokonuje zapisu.
- Możliwe jest użycie VirtualChan(chan%, 0) do sprawdzenia czy kanał jest wirtualny. Wcześniej, jeśli kanał nie był wirtualny, następowało przerwanie skryptu i wygenerowanie błędu.
- W trybie wyświetlania średniej, podczas uśredniania krzywych posiadających przerwy, tym sekcjom średniej, które odpowiadały przebiegom okrojonym z powodu przerw, przypisywane były zbyt wysokie wagi.
- Możliwe jest obecnie użycie przeciągnięcia myszką Alt+Mouse w celu zmierzenia czasu na osi x, w trybie "time of day". Poprzednio, do wyświetlanej różnicy czasu był dodawany czas otwarcia pliku.
Zmiany
- Teraz uśrednianie krzywych powoduje wyrównanie danych do punktu położonego najbliżej wyzwolenia, a nie do następnego punktu po wyzwoleniu. Redukuje to rozmycie średniej wyzwolenia i danych z 0,5 próbki do 0,25 próbki. W zakładce "Preferences Compatibility" w menu "Edit" można ustawić opcję pozwalającą stosować stare rozwiązanie.
|
|
05/2006 |
5.15 |
Nowe funkcje
|
|
|
- Aktywne kursory, w trybie punktów danych, mogą teraz przeszukiwać wstecz kanały wirtualne.
- Krzywe poddane interpolacji sześciennej, przycięte w osi Y, teraz są eksportowane do rozszerzonych metaplików jako krzywe. Poprzednio były eksportowane jako linie.
- Ciągi literowe w skrypcie przestały być ograniczone do 255 znaków.
- Komenda skryptowa Help(0, fileName$)jest teraz zaimplementowana zgodnie z dokumentacją. Teraz również Help(0) zamyka każdy otwarty plik pomocy.
- W dopasowaniach eksponencjalnych można teraz ustawić zakresy stałej czasowej, które przechodzą przez zero. Poprzednio musiały one być całkowicie dodatnie albo ujemne.
- Teraz, jeśli jest tworzona n-troda z kilku kanałów falowych o różnych współczynnikach skali, Spike2 próbuje zachować skale kanałów. Można to dezaktywować (by działało jak poprzednio) w zakładce Preferences menu Edit w oknie dialogowym Compatibility. Poprzednio, wszystkie kanały z założenia posiadały takie samo skalowanie jak pierwszy wybrany kanał.
- Obsługa wzmacniacza 1902 została rozszerzona, tak by sprostać nowym właściwościom 1902 Mk IV. Rodzina komend CondXXXX() również została rozszerzona.
- Teraz importer plików DSI tworzy kanał znaczników tekstowych z pliku logów DSI.
- Teraz importer plików EDF obsługuje pliki w formacie EDF+ z danymi zarówno ciągłymi, jak i epizodycznymi.
- Importer Plexon DDT został rozszerzony tak by poprawnie oznaczać kanały z plików które miały kanały wyłączone.
- Teraz nazwa kanału MC_Rack WaveMark zawiera identyfikatory sortera kanału i wzmacniacza.
- Zamieszczona została wstępna wersja importera binarnego formatu Grass-Telefactor Polyview,
- Specyfikacja Listener (osobny program, który rejestruje się ze Spike2, i który jest informowany o wystąpieniu próbkowania danych) została załączona na dysku instalacyjnym, wraz z przykładowym kodem. To ta sama specyfikacja, której użyliśmy by napisać aplikację S2Video.
- System plików SON zmienił wersję by umożliwić wersji 5 Spike2 czytanie plików zawierających do 400-u kanałów, generowanych przez system importowania plików i następne, duże wydanie Spike2. Spike2 w wersji 5 będzie tworzył pliki zawierające do 256-u kanałów.
Usunięte błędy
- ChanFit()i związane z nią komendy mogły się zawiesić jeśli natępowało odwołanie do nieistniejącego kanału.
- Komenda SSClassify(1, ...) nie wyzwalała szybkiego przebiegu klasyfikacji przez dane.
- Zaznaczenie prostokąta do powiększenia/pomniejszenia lub też do wykonania pomiarów, mogło pozostawiać śmieci na ekranie jeśli zaznaczenie powodowało przesunięcie okna.
- Teraz można wpisywać cyfry w pola „%” i „Steps” okna dialogowego Clustering, poprzednio można było jedynie używać suwaków. Numery na legendzie są również używane do ustawienia klasy zdarzenia w aktualnie zaznaczonej elipsie, znaczniki selekcji są szare gdy numery na legendzie nie mogą klasyfikować zdarzeń.
- Komenda skryptowa LastTime() nie działała na wirtualnych kanałach, które były zależne jedynie od kanału zdarzeń.
- Sekwencer graficzny już nie generuje legend i przycisków dla nieużywanych segmentów.
- Sekwencer graficzny ustala limity dla „Delay” i „Wait until time” prawidłowo i lepiej wyświetla czasy.
- Sekwencer graficzny bardziej prawidłowo blokuje pole „field” głównej ścieżki kontrolnej.
- Jeśli ustawi się grubość osi na więcej niż 1 pixel, ramka legendy widoku XY (ustawiana przez grubość osi) już nie zaśmieca obrazu podczas przeciągania.
- Komendy optymalizacji wyświetlania widoku XY już nie biorą pod uwagę niewidocznych kanałów podczas obliczania zakresu.
- Graficzny edytor sekwencji mógł wyświetlać i generować nieprawidłowe wyjścia cyfrowe jeśli stan początkowy linii cyfrowej był ustawiony na wysoki.
- Graficzny edytor sekwencji już nie traktuje wciśnięcia Enter jako żądania zamknięcia okna dialogowego podczas edycji pola numerycznego.
- Teraz można wyczyścić znaczniki przy pomocy ExportChanList(0).
- ExportRectFormat()już nie nadpisuje ogranicznika ciągu jeśli nie ustawiło się separatora pozycji.
- “Export As Spreadsheet text" z menu File oraz "Copy for Spreadsheet output" z menu Edit mogły generować puste komórki, pomimo że powinny one zawierać dane.
- Tytuł użyty podczas drukowania matryc spajków wyświetlał numer kanału – 1.
- Jeśli komenda skryptowa FileConvert$() była użyta w trybie automatycznego rozpoznania typu danych, mogła nie zadziałać z powodu problemu importera ASCI (plik tekstowy).
- Komenda Process() użyta w trybie bramkowym, teraz zapisuje poprawnie.
- Możliwe było zawieszenie Spike2 komendą Close All w oknie czasowym (Ctrl+File menu Close) jeśli aktywne kursory były ustawione na przetwarzanie do kanału.
- W oknach dialogowych klastrowania komendy wyświetlania wzdłuż osi X, Y i Z nie ustawiały pozycji suwaków obrotu.
- Jeśli używano w języku skryptowym filtrów IIR do filtracji macierzy, można było otrzymać nieprawidłowy wynik dla filtrów Czebyszewa typu 2, drugiego i trzeciego rzędu.
Zmiany
- Komendy filtrów IIRLp(), IIRHp(), IIRBp() i IIRBs() już nie pozwalają na ominięcie argumentu order%. Preferowana metoda ustawienia wstecznej filtracji to przypisanie argumentowi flags% wartości 1 a nie -1 (choć -1 jest nadal akceptowane). Te zmiany umożliwiają Spike2 w wersji 6 na rozszerzenie tych komend bez przerywania starych skryptów.
|
|
01/2006 |
5.14 |
Nowe funkcje
|
|
|
- The importer for Axon files now recognises TextMark data channels.
- The importer for Plexon files now recognises library version 105 files and has been extended to import RealMark and Keyboard channels.
- The BIOPAC file importer now recognises version 43 files.
- The Alpha Omega file importer now imports .MAP files.
- There is a new file importer for .HLR version 3 and 4 files.
Usunięte błędy
- Podgląd XY nie zawsze respektował ustawienia koloru tła dla podglądu i aplikacji.
- Suwak okna dialogowego Marker Filter, w liście kodów nie uwzględniał zaznaczonego obiektu podczas zmieniania poziomu. Zmieniliśmy to tak by zmiana poziomu nie wywoływała przesunięcia położenia listy, ponieważ wydaje się, że to jest naturalniejsze i bardziej użyteczne.
- W interaktywnym dopasowywaniu krzywych, szacowanie współczynników początkowych działa poprawnie gdy początek danych jest różny od punktu odniesienia.
- W oknach dialogowych analizy skupień (clusters), klawisze przyspieszacza 0 do 9 i Ctrl+Shift+0 do 9 teraz działają, jak również pozycja menu „Clear all visible codes”.
- Teraz działa wymuszanie odstępów na odwróconej osi y (wartości na osi maleją w miarę przesuwania w górę).
- Komenda Rm() w definicji kanału wirtualnego była bardzo mało wydajna przy dużej liczbie danych typu RealMark. Teraz jest znacznie szybsza.
- Możliwe było zawieszenie Spike2 jeśli otwierałeś plik z podglądem XY, który był skojarzony z plikiem źródłowym ustawionym na posortowane dane, podczas gdy plik XY zawierał dane nieposortowane.
- Użycie debuggera by przeskoczyć do linii bliskiej końca dużego skryptu mogło zawiesić Spike2. Skrypt, któremu to się przytrafiało miał ponad 18000 linii i był kompilowany do ponad 111000 instrukcji.
- Komenda DlgShow() nie wykrywała użycia zmiennej całkowitej lub tablicy o polach rzeczywistych. Poprzednio skutkowało to brakiem transferu danych. Teraz jest to zgłaszane jako błąd.
- Komenda DlgShow() nie radziła sobie poprawnie z tablicą wartości rzeczywistych użytą z polem całkowitym. Teraz to działa.
- Pomiary przy pomocy kursorów wykonywane na kanałach WaveMark, rysowanych jako średnia częstotliwość, chwilowa częstotliwość lub jako wykres tempa (rate), nie są nadal zmuszane by traktować kanał jakby był wykreślany w postaci kropek.
- Możliwe było zawieszenie Spike2 poprzez usunięcie kanału danych, z którego korzystało okno dialogowe Principal Component Analysis.
|
|
09/2005 |
5.13 |
Nowe funkcje
|
|
|
- Skrypty działają teraz o nieco szybciej w porównaniu z wersją 5.12. Wzrost prędkości sięga 10%.
- Polecenie skryptowe FileSaveAs() akceptuje obecnie argument type% wynoszący -2 dla wyniku i widoków XY. Dzięki temu użytkownik może wybrać polecenie Zachowaj typ pliku jako.
- Urządzenie 1401plus obsługuje obecnie polecenia tabeli przetwornika sygnałów.
- Wprowadzono nowe polecenie FitData(), które stanowi odzwierciedlenie polecenia ChanFit().
- Obecnie możliwe jest interaktywne dopasowanie danych użytkownika do sinusoidy, a następnie przy pomocy poleceń () i FitData().
- W dialogu Marker Filter można obecnie wybrać w przypadku kodów markerów format wyświetlanego obrazu. Ponadto kliknięcie na masce markera powoduje przewinięcie markera do elementu maski, który został kliknięty.
- Importer filtru DSI obecnie obsługuje dane z wieloma plikami parametrów.
Usunięte błędy
- Można było spowodować awarię programu Spike2 poprzez ustawienie dialogu użytkownika z funkcją zmiany, a następny poprzez ustawienie wartości pola w obrębie funkcji zmiany.
- W dialogu użytkownika nie można było ustawić fokusa dialogu przy zastosowaniu DlgEnable() poprzez funkcję zmiany lub przyciśnięcie przycisku.
- Zmiana wielkości obszarów kanałów na przewijaniu widoków czasu (na przykład podczas próbkowania) nie powoduje już zakłóceń obrazu na ekranie.
- W widoku XY jeżeli polecenie skryptowe FileSaveAs()otworzyło dialog File Save przy wartości -1 argumentu type%, to użytkownik mógł zmienić typ pliku, co powodowało zmianę użytego rozszerzenia, ale nie zmieniało formatu pliku. Obecnie nie można zmienić formatu pliku.
- Jeśli wymazywano elementy na widoku XY na kanale, który był sortowany przez X lub Y, to kolejność uzyskana w wyniku sortowania nie była poprawna.
- Edytor sekwencji graficznych nie pozwala na podanie impulsów o zerowej długości.
- Polecenie skryptowe BurstRevise() obecnie uwzględnia wszystkie filtry markerów, które zostały użyte dla kanału.
- Polecenie skryptowe ChanSave() uwzględniało jako argument dla kanału funkcji jedynie liczbę całkowitą. Obecnie zgodnie z dokumentacją akceptuje specyfikację kanału.
- Jeśli zaszło zdarzenie w największym czasie możliwym w pliku, to program Spike2 mógł ulec zawieszeniu w niektórych trybach rysowania.
- Usprawniono rejestrację skryptu MeasureToXY() i MeasureToChan() w trybie punktów.
- Jeśli w wyniku konfiguracji próbkowania powstają zduplikowane widoki, to widoki duplikatów w oryginalnym pliki nie powodują powstania duplikowanych poziomych kursorów.
- Obecnie użycie programu Spike2 nie może spowodować awarii programu Spike2 poprzez zastosowanie sygnału Edit WaveMark na kanale WaveMark w przypadku mniej niż 6 punktów na ścieżkę.
- Jeśli odczytywano konfigurację próbkowania z pliku danych, to kanały ADC były akceptowane tylko wtedy, gdy miały one numer portu od 0 do 15, a porty 8-15 były mapowane do portów 0-7.
- Jeśli użyto polecenia skryptowego ChanWriteWave() do zastąpienia danych na początku kanału, a następnie utworzono lub wymazano inny kanał, to można było odczytać stare dane falowe.
- Jeśli dla wyjścia ustalano sygnał falowy przy zastosowaniu funkcji Play Waveform menu Sampling Configuration lub przy pomocy polecenia skryptowego PlayWaveAdd(), to jeśli zarówno numer kanałów jak i punkty były wartościami parzystymi, to sygnał wyjściowy stanowił dodatkowy punkt.
- Jeśli użyto polecenia spektrum Power na kanale, któremu przyporządkowano proces zmniejszania liczby próbkowanych kanałów, to można było uzyskać przypadkowy błąd jeśli obszar wybranych danych stanowił wielokrotną wielokrotność wielkości bloku FFT.
- Polecenie XYSetChan() nie działało właściwie jeśli stosowano wiele kanałów. W takim przypadku zwracana wartość była niewłaściwie dokumentowana.
- W dialogach kształtu szpilki opcja załadowania i zapisu szablonów nie podawała listy szablonów dla zduplikowanych kanałów.
- Polecenia XYInRect() i XYInCircle() nie działały właściwie jeśli wielkość prostokąta lub okręgu była mniejsza na ekranie od 1 piksela.
- Zmiana kanału lub przeciągniętego kanału poziomego ze skryptu w obrębie paska narzędzi lub procedury dialogu pracy jałowej mogła spowodować załamanie programu Spike2.
- Polecenie skryptowe FileSaveAs() zawsze pytało czy należy nadpisać plik jeśli polecenie powodowało otwarcie dialogu File Save niezależnie od argumentu yes%.
- Liczba bajtów wyświetlanych w dialogu sygnału falowego (Output Waveform) mogła różnić się od właściwej o 2, a wielkość w bajtach wyświetlana w dialogu konfiguracji Smpling dialogu w zakładce Play Waveform mogłą być błędna o 1. Był to problem kosmetyczny. Program Spike2 w procedurach wewnętrznych używał właściwych wielkości.
Zmiany
- Polecenie skryptowe XYInRect() traktuje wartości w obrębie prostokąta w taki sposób, że dolna współrzędna sięga górnej współrzędnej, jednak nie obejmuje tej współrzędnej. Wcześniej obejmowało to górną współrzędną.
|
|
05/2005 |
5.12 |
Nowe funkcje
|
|
|
- Wyeliminowaliśmy w znacznym stopniu migotanie, które pojawia się w przypadku często aktualizowanych obrazów, na przykład podczas próbkowania. Nowa metoda rysowania obrazu może być wolniejsza w przypadku sprzętu komputerowego niektórych użytkowników. Można wyłączyć funkcję ochrony przed migotaniem na zakładce Edit Preferences Compatibility.
- Wprowadzono nową zakładkę Edit Preferences, która umożliwia regulację przydzielania czasu dla programu Spike2 w czasie pracy w tle. Obecnie Spike2 nie zajmuje całkowitego czasu procesora podczas próbkowania.
- Zwiększono maksymalną dozwoloną liczbę duplikatów kanału, z 26 do 52. Pierwsze 26 duplikatów wyświetlają numery kanałów o oznaczeniach od a do z. Kolejne 26 duplikatów są oznaczane od A do Z.
- Maksymalna wielkość skompilowanego skryptu została zwiększona 16 razy.
- Nowe polecenie YieldSystem() pozwala na uśpienie wątka użytkownika programu Spike2 za pomocą skryptu.
- Obecne jest nowe polecenie skryptowe PlayOffline() służące do dopasowania dialogu Play Offline menu Sample.
- Funkcja Copy Spreadsheet na widoku czasu pozwala obecnie na ustawienie dowolnego interwału czasowego. Poprzednio była ograniczona do wielokrotności liczb stałych rozdzielności czasu pliku.
- Funkcje skryptów ChanList() nowa funkcja Chan$() obsługują obecnie symboliczne nazwy skryptów (np. m1a).
- Podczas próbkowania, w którym stosuje się automatyczne nazywanie plików, program Spike2 obecnie pamięta numer ostatniego otwartego pliku, co oszczędza czas wyszukania wolnej nazwy pliku w przypadku dużej ich ilości. W przypadku braku nazw plików program Spike2 wyświetla obecnie okienko z komunikatem.
- Program zawierał kilka dialogów, które opóźniały sprawdzanie błędów liczbowych do momentu, gdy fokus sygnału wejściowego nie został przeniesiony na inną pozycję. Obecnie błędy są sprawdzane podczas pisania i niepotrzebne znaki są odrzucane.
- Edytor sekwencji graficznych ma dodatkowe wyjaśnienia warunków błędu. Ponadto pozycje, które można opuścić tylko na ścieżce kontrolnej pokazują zawsze punkt wstawienia na ścieżce kontrolnej niezależnie od poziomej pozycji myszy.
- Edytor sekwencji graficznych pozwala obecnie na kopiowanie odcinka aktualnej sekwencji do szeregu odcinków, co ułatwia przygotowanie listy podobnych bodźców.
- Kiedy swobodny sygnał analogowy jest opuszczany w edytorze sekwencji graficznej, występują sygnały analogowe, to jeśli sygnały falowe są zdefiniowane w konfiguracji próbkowania pojawia się monit, by użytkownik wybrał jeden z takich sygnałów. Można kliknąć dwa razy ikonę swobodnego sygnału falowego na ścieżce kontrolnej, by zmienić powiązany z nią sygnał falowy.
- Obecnie można cofnąć zmiany kolorów, które zostały wprowadzone do widoków i kanałów. Nie można zmienić zmiany koloru dokonanej w palecie lub zmian w aplikacji, gdyż zmiany te obejmują całą aplikację, a system cofania działań opierać się na zmianach widoków.
- Dialog wartości kursorów i polecenie skryptowe ChanValue() zwracają obecnie interpolowane dane (na podstawie trybu rysowania) dla kanałów sygnałów falowych na widoku czasu. Funkcję tę można wyłączyć na zakładce Edit Preferences Compatibility.
- Usprawniliśmy algorytm, który ustawia liczbę miejsc dziesiętnych używanych do przedstawienia czasu kiedy dane są eksportowane jako tekst.
- DlgEnable() pozwala obecnie na ustawienie, która pozycja dialogu ma fokus sygnału wejściowego.
- Obecnie można używać strzałek kursora góra/dół, by zmienić wartość pola dialogu użytkownika kontrolującego spin.
- Importer plików wejściowych został zmieniony w taki sposób, że obecnie może importować szerszy zakres formatów sygnałów wejściowych.
- Dialog dopasowywania obecnie wyświetla komunikaty o błędzie, jeśli pola sygnału wejściowego są niedopuszczalne.
Usunięte błędy
- Dane widoku wynikowego czasu i wyników rysowane w formie trybu sygnału falowego, liniowego [skyline] lub przestrzennego przy zastosowaniu grubych linii są czasami źle rysowane podczas przewijania obrazu.
- Jeśli dialog kodów Set Marker był otwierany przy pomocy prawnego kliknięcia muszą, to kliknięty kanał nie był automatycznie wybierany.
- Dialog Edit WaveMark zawsze rozpoczynał się od pierwszego podświetlonego kodu markera niezależnie od ustawionej warstwy użytej w danej konfiguracji. Obecnie podświetla kod znacznika, który zostanie użyty.
- W przypadku, gdy otwarte były okna grupowania Edit WaveMark i WaveMark, to mogło dojść do awarii programu.
- Dialog KMeans i Normal Mixtures obecnie aktywują dialog grupowania w momencie ich zamykania.
- Dialog KMeans obecnie podaje poprawne wartości wag określonych przez użytkownika.
- Podczas rejestracji dialogu kanału Virtual zamykający nawias był pomijany.
- Polecenie Standard Display menu View usuwało wybrany zestaw kanałów, ale nie podawało liczby kanałów, wskutek czego kanały nadal wyglądały tak, jakby je wybrano.
- Przycisk "Add to online" w dialogu Output Waveform jest obecnie nieczynny jeśli wybrany sygnał falowy jest większy od wartości granicznej 32 MB . Wcześniej maksymalna wartość wielkości nie była realizowana do momentu, gdy użytkownik nie załadował sygnału falowego do urządzenia 1401 do próbkowania. Jeśli w urządzeniu 1401 brak jest pamięci wystarczającej do załadowania sygnału falowego, to użytkownik w czasie próbkowania nadal otrzymuje komunikat.
- Wartości kursora, regiony kursora oraz dialogi kształtu szpilki dopasowują się do wielkości, która stanowi wielokrotność stałej szerokości kolumny. Jeśli taka zmiana wielkości spowodowała, że cały dialog był poza ekranem, to trudno go było przywrócić. Obecnie po wydaniu polecenia wyświetlenia tych dialogów, dialogi te same ustawiają się na środku ekranu, tak jak w przypadku jakby były poza nim.
- Edytor sekwencji graficznej obecnie wytwarza poprawnie: gałąź w reakcji z timeoutem, gałąź przy czasie porównania i zmiennej/czasie arytmetycznej. Wszystkie z nich używały w czasie konwersji wartości znaczników przetwornika zamiast znaczników pliku.
- Edytor sekwencji graficznej jest w stanie obsłużyć zachodzące za siebie wyjściowe swobodne sygnały falowe.
- Jeśli otwarto z paska menu dialog Fitting i kanał 1 nie istniał lub też był nieodpowiedni, wtedy dialog dopasowywania nie działał właściwie do momentu zmiany selektora kanałów.
- Sygnał wyjściowy polecenia Copy Spreadsheet dla kanałów zdarzeń rysowanych w trybie punktów lub linii przy wyświetlaniu liczb całkowitych nie używa już sześciu miejsc dziesiętnych.
- Jeśli w dialoguNew WaveMark źródło danych stanowi kanał sygnałów falowych, to szerokość wzorca jest obecnie przywracana w oparciu o zapisane ustawienia. Wcześniej był on ograniczany do maksymalnie 28 punktów.
- Polecenie skryptowe MeasureToChan() obecnie umożliwia zastosowanie dla kanału zdarzeń zarówno typu 2 jak i 3.
- Polecenie skryptowe SetWaveCrl() określało wartość graniczną 30000 zakresów [bins], w wersja interaktywna nie miała takiej opcji. Liczba zakresów jest obecnie ograniczona przez długość pliku lub 10000000, w zależności od tego, która wartość jest mniejsza.
- Polecenie skryptowe SetWaveCrlDC() nie rejestrowało właściwie poleceń.
- Zmiana zakresu osi y w wersji 5.11 nie działała właściwie.
- W dialogu 5.10 i 5.11, w dialogu klastrów PCA, nie można było kliknąć prawym przyciskiem myszy i umieścić elipsy.
- Jeśli stosowano kolor tła kanału przy włączonej siatce, to ta siatka nie była widoczna.
- Jeśli kanały tła są zastępowane poszczególnymi kolorami tła, to obecnie jest używany kolor tła jedynie dla pierwszego kanału w grupie. Poprzednio rysowane były wszystkie kolory tła, co zaciemniało widok danych.
- Polecenie SampleMode(-1) i SampleMode(-2) nie przekształcało wartości ’for’ oraz ’every’ z minut do sekund, kiedy ustawione je w dialogu jako minuty.
- Polecenie skryptowe PlayWaveLink$() zawsze zwracało pusty ciąg.
- Polecenie skryptowe ToolbarEnable() obecnie współpracuje z przyciskami bez etykiet.
- W skrypcie, jeśli otwarto definiowany przez użytkownika dialog w obrębie wprowadzanych zmian, funkcji jałowej lub wybranej przez wciśnięcie przycisku w obrębie dialogu z użytkownikiem, to dialog pierwotny jest wyłączony w czasie używania nowego dialogu.
- Można było spowodować awarię programu Spike2 jeśli ustawiono funkcję zmiany dla dialogu zdefiniowanego przez użytkownika i funkcja zmiany powodowała błąd skryptu.
- Jeśli utworzono dialog zdefiniowany przez użytkownika w obrębie procedury pracy jałowej lub funkcji zmiany dialogu definiowanego przez użytkownika, możliwy był konflikt dialogów, który powodował awarię programu Spike2.
- Kompilator skryptów obecnie oznacza błąd jeśli jest definiowana funkcja lub proces z argumentem tabeli i jeśli wielkość tabeli, dla przykładu func fred(myArr[23]) jest niedopuszczalna. Wcześniej błąd ten nie był wykrywany, co prowadziło do wygenerowania niepoprawnego kodu.
Zmiany
- Program Spike2 jest obecnie bardziej przyjazny podczas próbkowania oraz w trybie pracy jałowej, podczas wykonywania skryptu. Jeśli użytkownik ma skrypt pracujący w czasie rzeczywistym, który jest uzależniony od wcześniejszego działania programu, to może wystąpić potrzeba zmiany ustawień w harmonogramie Edit Preferences Scheduler. W celu emulowania (bez zachowania całkowitej dokładności) poprzednich ustawień należy nastawić wszystkie pola na ich wartości minimalne (1, 0, 0). Nie zalecamy tego.
- Jeśli używano w polecenie Calibrate w menu Analysis lub polecenia skryptowego ChanCalibrate() w trybie "Set scale from mean of time range" lub "Square wave amplitude (Size) only", to zachowywany był offset kanału, który doprowadzał do nieoczekiwanych wyników, jeśli offset nie wynosił zero. Te tryby nie zachowują wartości użytkownika wynoszącej zero, co nie zmienia offsetu kanału jeśli offset kanału nie wynosił zero. Jeśli offset kanału wynosił zero, to nie występowała żadna zmiana.
- Obecnie dozwolone są 52 duplikaty kanałów (patrz powyżej). Nie sądzimy, że spowoduje to jakiekolwiek problemy z istniejącymi skryptami.
- Jeśli do próbkowania sekwencji plików (bez powtarzania plików) używano funkcji automatycznego nazywania plików, to obecnie przyśpieszone jest wyszukiwanie nieużywanej nazwy plików poprzez rozpoczęcie wyszukiwania od ostatniego użytego numeru plus 1. Ma to znaczenie jeśli używa się oddzielnej aplikacji do przeniesienia próbkowanych plików w inne miejsce i program Spike2 wykorzystuje stare nazwy w miarę ich uwalniania.
- Podczas używania kanału opartego na sygnale falowym na widoku czasu polecenie skryptowe ChanValue() uwzględnia tryb rysowania. W celu uzyskania dawnej wartości należy ustawić argument mode% na 1 lub wyłączyć taką procedurę w zakładce Edit Preferences Compatibility.
|
|
02/2005 |
5.11 |
Fixes
|
|
|
- W wersji 5.10, podczas próbkowania przy powielonych oknach czasu plik danych był wymazywany kiedy zamykano ostatnie okno danych.
- Polecenie skryptowe SampleUsPerTime() nie pozwalało na użycie takiego samego zakresu mikrosekund jak w dialogu interakcyjnym.
- Zapisana konfiguracja próbkowania (.s2c) była czasami większa, niż było to wymagane. Jeśli użytkownik podejrzewa, że występuje u niego taki plik, należy go załadować i zapisać jako nowy plik.
- Podczas przewijania wyświetlanego okna danych z widoczną siatką grube linie siatki mogły być za cienkie o jeden piksel.
- Obrazy danych rysowanych w trybie SkyLine przy zastosowaniu grubych linii mają teraz wyraźniejszy obraz rogów. Rysowany obraz jest również lepsze podczas przewijania w bok na widoku czasu.
- Zakres monitora czasu Spike oraz pole zliczania sygnałów szczytowych można było edytować przy pomocy uchwytów, nie można było ich jednak edytować.
- Jeśli obecnie zmienia się grubość lini w opcji Preferences menu Edit to nowe zmiany pojawiają się natychmiast.
Zmiany
- Kolory użyte w przyciskach Monitora Spike zostały zmienione gdyż kolor żółty był słabo widoczny przy niektórych kompozycjach kolorów Windows XP.
|
|
01/2005 |
5.10 |
Nowe funkcje
|
|
|
- Nowe okno wartości szczytowej wyświetla wszystkie kanały wartości szczytowych (WaveMark) w pliku danych.
- Obecnie można ustawić niezależnie kolor kształtu wartości tła i monitorowania wartości szczytowej.
- Dialog funkcji WaveMark przechowuje informację o obecności kursora zero w czasie szybkiego tworzenia kanału.
- Podczas tworzenia nowego kanału w "trybie szybkim" nowy dialog WaveMark zachowuje pozycję kursora.
- Pomiary kursora wartości zwrotnej ChanValue() dla danych RealMark uzyskanych w formie danych typu waveform umożliwia obecnie liniową interpolację pomiędzy wartościami danych.
- Spike2 ustawia kolory tła pozycji, które mają ten sam kolor, dzięki czemu pozycje te są widoczne. Jest to szczególnie użyteczne w dialogach dotyczących kształtu wartości szczytowych.
- Dodano przyciski do symetrycznego zakresu osi w stosunku do dialogu osi y.
- Na ekranie skryptu klawisz F4 kompiluje skrypt, natomiast klawisz F5 powoduje jego uruchomienie. Na widoku sekwencji sygnału wyjściowego F4 sprawdza składnię sekwencji.
- Obszar wyświetlania ekranu na widoku czasu i wyniku obecnie dobiera taką wielkość by widoczne były wszystkie numery kanałów.
- Numery kanałów dla kanałów wirtualnych i kanałów pamięci a kanały pamięci są obecnie wyświetlane jako symboliczne nazwy (dla przykładu v1, v2, m1, m2 a nie 701, 702, 401, 402). Podwójne kanały są juz wyświetlane jako symboliczne nazwy, na przykład pierwszy powielony kanał kanału 20 wyświetlane są jako 20a. Przykładowo, kopie kanałów wirtualnych i kanałów są wyświetlane jako v1a, m2c.
- W dialogach oraz specyfikacji kanałów w których polecenia skryptowe podawano jako ciągi znaków można obecnie stosować zarówno nazwy symboliczne jak i numery kanałów. Ponadto obecnie program akceptuje oznaczenia 8..,..8j ;ib 8j służące do określania duplikatów kanału 8.
- Dialog kanału wirtualnego obecnie przyjmuje symboliczne nazwy kanałów, dla przykładu można używać Ch(m1) zamiast Ch(401).
- Polecenie DupChan() obecnie przyjmuje - 2 jako numer duplikatu, który odpowiada kanałowi.
- Jeżeli w edytorze skryptów użyto klawisza F1 po wpisaniu otwierającego nawiasu wbudowanej funkcji, to otwiera to stronę pomocy dla tej funkcji. Poprzednio w celu uruchomienia pomocy konieczne było wpisanie otwierającego nawiasu, a następnie przeniesienie tekstu karetki na nazwę funkcji.
- Nowe polecenie skryptowe BRWEndian() pozwala na odczyt i zapis plików binarnych formacie big-endian jak i standardowym dla komputerów osobistych formacie little-endian.
- Jeśli program Spike2 pobiera próbki lub wykonuje skrypt, to będzie chronić system przed stanem zatrzymania wskutek braku aktywności użytkownika. Obecnie zapisuje plik próbkowanych danych gdy występuje stan niskiego załadowania baterii lub jeśli otrzymuje sygnał wyłączenia systemu.
- Jeśli program Spike2 jest aktywną aplikacją i wykonuje próbkowanie lub wykonuje skrypt, to podejmuje on próbę zatrzymania uruchomienia wygaszaczy ekranów.
Usunięte błędy
- Dane widoku wynikowego czasu i wyników rysowane w formie trybu sygnału falowego, liniowego [skyline] lub przestrzennego przy zastosowaniu grubych linii są czasami źle rysowane podczas przewijania obrazu.
- Jeśli dialog kodów Set Marker był otwierany przy pomocy prawnego kliknięcia muszą, to kliknięty kanał nie był automatycznie wybierany.
- Dialog Edit WaveMark zawsze rozpoczynał się od pierwszego podświetlonego kodu markera niezależnie od ustawionej warstwy użytej w danej konfiguracji. Obecnie podświetla kod znacznika, który zostanie użyty.
- W przypadku, gdy otwarte były okna grupowania Edit WaveMark i WaveMark, to mogło dojść do awarii programu.
- Dialog KMeans i Normal Mixtures obecnie aktywują dialog grupowania w momencie ich zamykania.
- Dialog KMeans obecnie podaje poprawne wartości wag określonych przez użytkownika.
- Podczas rejestracji dialogu kanału Virtual zamykający nawias był pomijany.
- Polecenie Standard Display menu View usuwało wybrany zestaw kanałów, ale nie podawało liczby kanałów, wskutek czego kanały nadal wyglądały tak, jakby je wybrano.
- Przycisk "Add to online" w dialogu Output Waveform jest obecnie nieczynny jeśli wybrany sygnał falowy jest większy od wartości granicznej 32 MB . Wcześniej maksymalna wartość wielkości nie była realizowana do momentu, gdy użytkownik nie załadował sygnału falowego do urządzenia 1401 do próbkowania. Jeśli w urządzeniu 1401 brak jest pamięci wystarczającej do załadowania sygnału falowego, to użytkownik w czasie próbkowania nadal otrzymuje komunikat.
- Wartości kursora, regiony kursora oraz dialogi kształtu szpilki dopasowują się do wielkości, która stanowi wielokrotność stałej szerokości kolumny. Jeśli taka zmiana wielkości spowodowała, że cały dialog był poza ekranem, to trudno go było przywrócić. Obecnie po wydaniu polecenia wyświetlenia tych dialogów, dialogi te same ustawiają się na środku ekranu, tak jak w przypadku jakby były poza nim.
- Edytor sekwencji graficznej obecnie wytwarza poprawnie: gałąź w reakcji z timeoutem, gałąź przy czasie porównania i zmiennej/czasie arytmetycznej. Wszystkie z nich używały w czasie konwersji wartości znaczników przetwornika zamiast znaczników pliku.
- Edytor sekwencji graficznej jest w stanie obsłużyć zachodzące za siebie wyjściowe swobodne sygnały falowe.
- Jeśli otwarto z paska menu dialog Fitting i kanał 1 nie istniał lub też był nieodpowiedni, wtedy dialog dopasowywania nie działał właściwie do momentu zmiany selektora kanałów.
- Sygnał wyjściowy polecenia Copy Spreadsheet dla kanałów zdarzeń rysowanych w trybie punktów lub linii przy wyświetlaniu liczb całkowitych nie używa już sześciu miejsc dziesiętnych.
- Jeśli w dialoguNew WaveMark źródło danych stanowi kanał sygnałów falowych, to szerokość wzorca jest obecnie przywracana w oparciu o zapisane ustawienia. Wcześniej był on ograniczany do maksymalnie 28 punktów.
- Polecenie skryptowe MeasureToChan() obecnie umożliwia zastosowanie dla kanału zdarzeń zarówno typu 2 jak i 3.
- Polecenie skryptowe SetWaveCrl() określało wartość graniczną 30000 zakresów [bins], w wersja interaktywna nie miała takiej opcji. Liczba zakresów jest obecnie ograniczona przez długość pliku lub 10000000, w zależności od tego, która wartość jest mniejsza.
- Polecenie skryptowe SetWaveCrlDC() nie rejestrowało właściwie poleceń.
- Zmiana zakresu osi y w wersji 5.11 nie działała właściwie.
- W dialogu 5.10 i 5.11, w dialogu klastrów PCA, nie można było kliknąć prawym przyciskiem myszy i umieścić elipsy.
- Jeśli stosowano kolor tła kanału przy włączonej siatce, to ta siatka nie była widoczna.
- Jeśli kanały tła są zastępowane poszczególnymi kolorami tła, to obecnie jest używany kolor tła jedynie dla pierwszego kanału w grupie. Poprzednio rysowane były wszystkie kolory tła, co zaciemniało widok danych.
- Polecenie SampleMode(-1) i SampleMode(-2) nie przekształcało wartości ’for’ oraz ’every’ z minut do sekund, kiedy ustawione je w dialogu jako minuty.
- Polecenie skryptowe PlayWaveLink$() zawsze zwracało pusty ciąg.
- Polecenie skryptowe ToolbarEnable() obecnie współpracuje z przyciskami bez etykiet.
- W skrypcie, jeśli otwarto definiowany przez użytkownika dialog w obrębie wprowadzanych zmian, funkcji jałowej lub wybranej przez wciśnięcie przycisku w obrębie dialogu z użytkownikiem, to dialog pierwotny jest wyłączony w czasie używania nowego dialogu.
- Można było spowodować awarię programu Spike2 jeśli ustawiono funkcję zmiany dla dialogu zdefiniowanego przez użytkownika i funkcja zmiany powodowała błąd skryptu.
- Jeśli utworzono dialog zdefiniowany przez użytkownika w obrębie procedury pracy jałowej lub funkcji zmiany dialogu definiowanego przez użytkownika, możliwy był konflikt dialogów, który powodował awarię programu Spike2.
- Kompilator skryptów obecnie oznacza błąd jeśli jest definiowana funkcja lub proces z argumentem tabeli i jeśli wielkość tabeli, dla przykładu func fred(myArr[23]) jest niedopuszczalna. Wcześniej błąd ten nie był wykrywany, co prowadziło do wygenerowania niepoprawnego kodu.
Zmiany
- Program Spike2 jest obecnie bardziej przyjazny podczas próbkowania oraz w trybie pracy jałowej, podczas wykonywania skryptu. Jeśli użytkownik ma skrypt pracujący w czasie rzeczywistym, który jest uzależniony od wcześniejszego działania programu, to może wystąpić potrzeba zmiany ustawień w harmonogramie Edit Preferences Scheduler. W celu emulowania (bez zachowania całkowitej dokładności) poprzednich ustawień należy nastawić wszystkie pola na ich wartości minimalne (1, 0, 0). Nie zalecamy tego.
- Jeśli używano w polecenie Calibrate w menu Analysis lub polecenia skryptowego ChanCalibrate() w trybie "Set scale from mean of time range" lub "Square wave amplitude (Size) only", to zachowywany był offset kanału, który doprowadzał do nieoczekiwanych wyników, jeśli offset nie wynosił zero. Te tryby nie zachowują wartości użytkownika wynoszącej zero, co nie zmienia offsetu kanału jeśli offset kanału nie wynosił zero. Jeśli offset kanału wynosił zero, to nie występowała żadna zmiana.
- Obecnie dozwolone są 52 duplikaty kanałów (patrz powyżej). Nie sądzimy, że spowoduje to jakiekolwiek problemy z istniejącymi skryptami.
- Jeśli do próbkowania sekwencji plików (bez powtarzania plików) używano funkcji automatycznego nazywania plików, to obecnie przyśpieszone jest wyszukiwanie nieużywanej nazwy plików poprzez rozpoczęcie wyszukiwania od ostatniego użytego numeru plus 1. Ma to znaczenie jeśli używa się oddzielnej aplikacji do przeniesienia próbkowanych plików w inne miejsce i program Spike2 wykorzystuje stare nazwy w miarę ich uwalniania.
- Podczas używania kanału opartego na sygnale falowym na widoku czasu polecenie skryptowe ChanValue() uwzględnia tryb rysowania. W celu uzyskania dawnej wartości należy ustawić argument mode% na 1 lub wyłączyć taką procedurę w zakładce Edit Preferences Compatibility.
|
|
11/2004 |
5.09 |
Nowe funkcje
|
|
|
- Przyciski dialogu utworzone przez funkcję DlgButton() w dialogach tworzonych przez użytkowników mogą mieć teraz skróty klawiaturowe.
- Dialogi zdefiniowane przez użytkownika, przyciski, monity i polu wyboru oraz stały tekst mogą mieć kontekstowe wyjaśnienia dotyczące ich przeznaczenia.
- Funkcje ProcessAuto() oraz ProcessTriggered() można wykorzystana widoku czasu podczas przetwarzania skierowanego do kanału.
- W urządzeniu Power1401 w graficzny edytor sekwencji wykorzystuje obecnie sygnał wyjściowy pochodzący z 4 przetworników.
- Tam, gdzie jest to możliwe, graficzny edytor sekwencji wykorzystuje instrukcję RAMP.
- Drugi kolor kanału określa obecnie kolor poziomych linii używanych do rysowania zdarzeń jako linii oraz do rysowania środkowej w trybie linii rastrowych.
- Okno służące do usuwania błędów skryptów dla lokalnych i globalnych zmiennych oraz zbiór wezwań zachowują swoją pozycję na ekranie pomiędzy sesjami Spike2.
- Przy pomocy polecenia skryptowego SampleOptimise() można obecnie ustawić dolną granicę w mikrometrach na jednostkę czasu do 1 mikrosekundy, odpowiadające zakładce rozdzielczości w dialogu konfiguracji próbkowania.
- Wprowadzono nowe polecenia skryptowe służące do filtracji IIR tablicy danych: Są to IIRLp(), IIRHp(), IIRBp(), IIRBs(), IIRReson() and IIRNotch().
- Maksymalna ilość duplikatów na widoku czasu, które można uzyskać wzrosła z 20 do 64.
- Możliwe jest także kopiowanie do schowka różnic pomiędzy kursorami poprzez klinięcie prawym przyciskiem myszy i wybranie opcji z kontekstowego menu.
- Metoda pomiaru opierająca się na przeciąganiu przy wciśnięciu klawiszu Alt umożliwia zapis pomiaru. Podczas przeciągania należy zwolnić klawisz, a następnie użyć klawiszy C lub L by skopiować lub zarejestrować wyświetlone wartości.
- Obecnie można odświeży kanały kształtów wartości szczytowych w trybie wyświetlenia Overdraw WM.
- Podczas przeciągania kanałów kształtów wartości szczytowych pomiędzy obszarem odświeżania i normalnym widokiem dochodzi do automatycznego trybu wyświetlania pomiędzy trybem Overdraw WM i trybem Waveform.
- Polecenie Preferences w menu Edit ma nową opcję, która umożliwia pominięcie ostatnio użytej osi x w plikach większych od 10 MB. To usprawnienie umożliwia dużą oszczędność czasu przy otwieraniu bardzo dużych plików.
- Obecnie możliwy jest wybór głównych elementów do wyświetlania w kaskadowym oknie.
- Można ustawić okna kaskadowe 3D w taki sposób, że umożliwiają „zmianę" ułatwiającą wizualizację grup.
- Obecnie można ustawić kolor tła kaskadowego okna przy pomocy pakiety kolorów. Elipsy są lepiej widoczne na ciemnym tle i nie występuje drganie kaskadowego okna podczas zmiany jego wielkości.
- Zastosowane nowe polecenia służącego do obracania kaskadowych okien w taki sposób, by x, y lub z były skierowane na użytkownika.
- Metody tworzenia okien kaskadowych K Means oraz Normal Mixture pozwalają obecnie na widok procesu kaskadowego oraz zastosowanie mechanizmu anulowania długich operacji grupowania.
- Filtr do importu plików Axon został uaktualniony do wersji 1.83 biblioteki Axon.
- Plik służący do importu plików DSI (Data Sciences International) (DSI) obecnie lepiej współpracuje z plikami opartymi na ramkach.
- Importer plików Plexon obecnie akceptuje 104 plików biblioteki.
- Polecenie skryptowe FileSaveAs() może obecnie zapisać czas, wynik i widoki XY w formie bitmapy.
Usunięte błędy
- Powtórzenie aktywnego kursora w trybie kursora obecnie wykrywa punkt 0 w czasie 0.
- System aktywnego kursora nie powodował unieważnienia kursora O jeśli wyszukiwanie nie dało żadnych wyników, co mogło spowodować przypadkowe wyniki na końcu procesu.
- Wszystkie instrukcje działu sekwencera sygnału wyjściowego, które używają tabeli (Bxx Vn,[Vm+offset],lb) z wyjątkiem BEQ sprawdzały wartość Vm, a nie wartości tabeli.
- sTicks(), msTicks()i usTicks() sekwencera sygnału wyjściowe działają obecnie właściwie w sytuacji kiedy urządzenie Power1401 lub Micro1401 używa rozdzielczości czasu, która nie stanowi całkowitej liczby mikrosekund.
- W graficznym edytorze sekwencji dział, który zawierał tylko spóźnienie, a nie grupę nie generował żadnego kodu.
- Jeśli procedura pobierania próbek obejmowała procesy, w których do kanału widoku czasu dodawano pomiary, to czasami nie powstawały procesy przy otwarciu nowego plików danych do próbkowania.
- Polecenie ChanSave() nie zachowywało początkowe poziomu kanału poziomu zdarzeń kiedy polecenie to tworzyło nowy kanał poziomu zdarzeń i kopiowano dane do niego.
- Polecenie skryptowe ChanSave() mogło nie zapisywać kanału danych typu waveform jeśli dołączono do niego proces kanału, który zwiększał współczynnik próbkowania kanału.
- Aplikacja wideo programu Spike2 wymazywała plik .avi jeśli zarówno wersja tymczasowa jak i ostateczna lokalizacja plików były identyczne.
- Podzielone okno skryptu pojawiało się dwa razy w menu Script spisu Run Script.
- Jeśli ustawiono tryb wyświetlania wartości wzbudzenia i ustawia oś x na zero w miejscu wyświetlenia jakakolwiek zmiana w układzie obrazu powodowała wyświetlanie pierwotnej osi czasu.
- Polecenie Print Visible jest obecnie widoczne tylko wtedy, gdy można z niego skorzystać.
- Jeśli próbkowanie zostało przerwane w czasie próbkowania, podczas oczekiwanie na wzbudzanie przez urządzenie 1401 z interfejsem USB 2, to ponowne użycie urządzenie powodowało konieczność ponownego uruchomienia 1401.
- Obsługa sekwencera sygnału w urządzeniu 1902 umożliwiał obsługę korekcji wzrostu nie działała we właściwy sposób.
- Zmiany wprowadzone w trybie online w panelu sterowania sekwencera w celu połączenia z AC i filtr przeliczającego nie były przesyłane do urządzenia 1902 dopiero po dokonaniu próbkowania następnego pliku.
- Importer plików tekstowych powodował powstanie niewłaściwym dla danych, które były asymetryczne w stosunku do zera osi y..
- Importer plików Igor nie powoduje awarii kanału podczas odczytu kanału, które znajdują się w dużych blokach różnych typów danych.
- Importer plików DataWave obsługuje obecnie pliki EWB.
- Dopasowanie interaktywnych krzywych obecnie zawsze jest odświeżane w stosunku do właściwej osi, kiedy krzywe są zablokowane.
- Interaktywny dialog dopasowania krzywej można wykonywać w trybie online, kiedy działa proces aktywnego kursora. Wcześniej dialog być zbyt obciążony zmianami kursora, by możliwa była odpowiednia reakcja na polecenie.
- Przyjęcie sygnału falowego (waveform) na obszarze ujemnym lub zerowym przez EventToWaveform() jest obecnie zgłaszane jako błąd i nie powoduje zawieszenia programu Spike2.
- Rozbudowany zespół obrazu metapliku był oparty na wartościach nominalnych pikseli w przeliczeniu na cal i informacja o tym była zgłaszana systemowi, co powodowało niedokładne określenie wielkości. Obecnie te obliczenia są bardziej dokładne.
- Sygnał w formie kosinusa w przetworniku DACs2 i 3 poprzez graficzny edytor sekwencji nie zatrzymywał się.
Zmiany
- Zakładka rozdzielczości dialogu konfiguracji próbkowania i polecenie skryptowe SampleOptimise() mają obecnie oddzielnie ustawienia we wszystkich urządzeniach typu 1401. Wcześniej urządzenie micro1401 oraz 1401plus miały jedno wspólne ustawienie. Obecnie urządzenie micro1401 ma swoje własne ustawienie, dzięki czemu możliwa jest zmiana sygnałów przetwornika DAC. Nie powinno to powodować jakichkolwiek problemów ze starszymi konfiguracjami próbkowania.
- Jeśli na widoku czasu ustawiono oś x w trybie „Time of Day", dochodzi do zatrzymania osi X wyświetlającej 0 w trybie wyzwalania obrazu. W podobny sposób ustawienie wyzwalanie osi x jako 0 w punkcie wyzwalania pozwala na zmianę godziny w trybie "godziny, minuty i sekundy,"
- Zmieniono najwolniejszy, dozwolony cykl podczas próbkowania, który określa rozdzielczość pliku, z 1000 us (1 ms) to 10000 us (10 ms). Dzięki temu możliwe jest zwiększenia maksymalnego możliwego czasu próbkowania, z 24 do 240 dni. Umożliwia to stosowanie bardzo wolnych współczynników próbkowania przez bardzo długi okres czasu.
- Maksymalna wielkość fali swobodnej wzrosła z 2 Mb do 32 MB, gdyż niektórzy użytkownicy stwierdzili, że ta wartość graniczna narzuca zbyt duże ograniczenia. Użytkownik musi mieć wolnych co najmniej 256 kB, które zostanie wykorzystane w urządzeniu 1401 do próbkowania.
- W kaskadowym oknie dokonano zmiany skrótów Ctrl+0...Ctrl+9 na 0...9. Pozwala to na jednoczesne przesunięcie elipsy i ustawionych kodów.
- Tryb rysowania stanu pozwala obecnie na pominiecie pionowej linii pomiędzy stanami, jeśli szerokość stanu jest mniejsza od kilku pikseli.
|
|
09/2004 |
5.08 |
Nowe funkcje
|
|
|
- W nowych instrukcjach sygnału wyjściowego DIV i RECIP zastosowano dzielenie zmiennych i wielkości odwrotne.
- Obecnie można utworzyć wirtualny kanał poprzez interpolację wartości danych typu RealMark.
- Zakładka Channels w dialogu konfiguracyjnym próbkowania wyświetla obecnie zakres portów danych używanych przez kanały sygnału falowego WaveMark mające wiele przebiegów.
- Polecenie skryptowe Optimise() użyte na widoku XY obecnie uwzględnia argumenty rozpoczęcia i zakończenia. Wcześniej argumenty te były pomijane i optymalizowany był cały widok.
- Dzięki dialogowi osi Y można obecnie optymalizować na widoku XY indywidualny kanał. Obecnie optymalizowane są dane wyświetlanego zakresu osi x, a nie wszystkie dane. Takie zachowanie umożliwia dopasowania widoku czasu i wyniku.
- Nowe polecenie skryptowe Speak() pozwala użytkowników z systemami przekształcania tekstu w mowę na uzyskanie mowy w oparciu o ciągi danych tekstowych.
- Nowe polecenie tekstowe ArrSort() obecnie sortuje macierze wszystkich typów.
- Polecenie Undo menu Edit wyświetla następną operację cofania o jedną czynność na widoku czasu, wyniku i XY.
- Obecnie można zmienić kolory kropek TextMark używając głównego koloru kanału z palety kolorów. W trybie rysowania Text można obecnie ustawić również kolor tekstu przy pomocy kanału wtórnego koloru.
- Dialog Print Screen menu File pozwala obecnie na wybranie pionowego lub poziomego układu strony w trybie wydruku i w nagłówku można wstawić aktualną datę i godzinę. W okresach pomiędzy poszczególnymi sesjami programu Signal zapamiętywane są ustawienia użytkownika. Jeśli aktywowano nagrywanie skryptu, to obecnie nagrywane są wszystkie ustawienia dialogów.
Usunięte błędy
- Jeśli w trybie Overdraw WM dane zostały oznaczone jako nieważne, dla przykładu poprzez zmianę kodów markerów, to do obrazu był dodawany pełny zakres unieważnionych danych. Obecnie odświeżany jest obraz nieważnych danych.
- Jeśli w kanale sygnału falowego użyto polecenia Channel process Down-sample, to mogła wystąpić sytuacja, w której dane po krótkiej przerwie nie mogły być wyświetlone.
- Jeśli wybrano opcję „Power1401 625" w zakładce Rozdzielczość dialogu konfiguracji próbkowania, nie można było próbkować danych typu WaveMark z więcej niż jednym przebiegiem.
- Polecenie XYAddData(chan%, y[], xInc, xOff) dodawało niewłaściwe dane jeśli y i xInc nie były tego samego rodzaju (obydwie będące liczbami rzeczywistymi lub liczbami całkowitymi).
- Jeśli skrypt zawiera błąd czasu wykonania programu w danych VAR, na przykład VAR arr[100/n%]; and n% wynosi 0, to błąd jest obecnie rejestrowany we właściwej linii.
- Polecenie skryptowe SampleWaveMark() nie pozwalało na określenie liczby przebiegów.
- Instrukcja sekwencera DIBEQ nie działała w przypadku urządzenia 1401plus.
- Obecnie jeśli drukuje się obraz danych mieszczący się na kilku stronach, i ustawia się lewy i prawy margines, to strony łączą się we właściwy sposób.
- Przy wydaniu polecenia Print Screen uwzględniane są marginesy drukarki.
- Dopasowane krzywe na widoku XY są obecnie drukowane właściwie.
- Obecnie, w edytorze sekwencji graficznych, działają właściwie polecenia "branch outside levels" i "branch within levels".
- Rejestracja ustawień aktywnych kursorów jest obecnie poprawna dla wszystkich trybów aktywnych kursorów.
- Procesy, w których mogą być stosowane pomocnicze wartości, dla przykładu PSTH, nie mogą obecnie zawierać serii danych w liczbie serii, które zostały odrzucone przez wartość pomocniczą.
- Jeśli zostanie załadowany plik danym, w którym znajduje się wartości dopasowania, to dialog dopasowania wyświetla obecnie pozostałe wartości.
- Polecenie skryptowe ChanSave() mogło spowodować zawieszenie programu Spike2 podczas interpolacji danych falowych (waveform).
- Jeśli zaznaczono opcję "User check positions" w dialogu konfiguracja wykresu tendencji to użytkownik był monitowany o skorygowanie pozycji kursora, nie można było jednak go przemieścić.
- Jeśli zmieniano tryb rysowania wielu kanałów WaveMark na tryb Overdraw WM lub z tego trybu, to obecnie zachowane są względne pozycje na ekranie. Poprzednio operacja ta odwracała kolejność w pionie.
- Jeśli przeciągnięto kanały jeden na drugi i ukryto osie y, to ukrytą oś y można było odtworzyć w górnej części obszaru danych.
- Można było spowodować awarię programu poprzez wygenerowanie widoku wyniku z wieloma kanałami oraz obrazów rastrowych a później przez powrót do dialogu Ustawień Procesu i zmniejszenie liczby kanałów.
- Polecenie skryptowe FocusHandle() zwracało 0 jeśli aktywnym widokiem było zminimalizowane okno czasu, wyniku, XY lub tekstowe albo też jeśli w fokusie programu znajdował się przycisk skryptu lub okno z sekwencją.
- Pierwotny i wtórny kolor kanału oraz o wysokim numerze oraz kolor tła nie był zachowywany wtedy, gdy widok był zapisywany i odczytywany lub kiedy powielano widok czasu.
- Jeśli w dialogu konfiguracji kształtu programu Spike skonfigurowano kanał z wieloma wartościami szczytowymi i kanały z wieloma przebiegami, oraz jeśli nastąpiła zmiana na inny kanał, a następnie powrót do pierwszego kanału, to pozycja wzorca i wszelkich wcześniej utworzonych wzorców były uszkodzone.
- Jeśli eksportowano plik typu TextMark, w którym maksymalna liczba znaków w przeliczeniu na pozycję nie była wielokrotnością 4, to eksportowany kanał ulegał uszkodzeniu. Spike2 nie tworzy takich kanałów, ale można importować takie dane z programów innych producentów.
Zmiany
- Jeśli występuje nie przewijający się kanał Overdraw WM, to obecnie ulega on pełnemu odświeżeniu za każdym razem, kiedy widok jest przewijany o połowę lub więcej szerokości widoku. Obecnie jest on w pełni odświeżany dla każdego sygnału w trybie wyświetlania wzbudzonego sygnałem.
- Kolor tła kanału można obecnie ustawić w trybie rysowania stanu. Kod stanu 00 jest obecnie rysowany w kolorze tła kanału, a nie w kolorze białym.
|
|
07/2004 |
5.07 |
Nowe funkcje
|
|
|
- Obecnie można tworzyć wirtualne kanały RealWave, które stanowią arytmetyczne połączenia kanałów typu waveform i kanałów zdarzeń. Kanały zdarzeń są przekształcane na sygnały analogowe przy użyciu funkcji wygładzających takich jak podniesione kosinusy i krzywe gausowskie.
- Dodano polecenie FocusHandle(), które służy do zwracania uchwytu widoku z fokusem. W przeciwieństwie do polecenia FrontView() może ono zwrócić okno multimedialne i kształty wartości szczytowych.
- Nowe polecenie skryptowe ReadSetup() pozwala obecnie na ustawienie separatorów I ograniczników używanych przez polecenie by Read()i ReadStr().
- Obecnie pojawia się ostrzeżenie, jeśli użytkownik próbuje pobierać próbki przy zastosowaniu funkcji automatycznego nazywania plików podając ścieżkę, która prowadzi do katalogu przeznaczonego wyłącznie do odczytu lub też którego nie istnieje.
- Polecenie skryptowe EventToWaveform() może teraz wykorzystać dodatkowe funkcje wygładzające (włączając w to krzywe Gaussa) i pozwala na uzyskanie asymetrycznej funkcji.
- Polecenie skryptowe ChanSave() kopiuje obecnie jeden lub więcej kanałów z jednego plików do tego samego lub innego pliku z opcjonalnym przesunięciem czasowym.
- Polecenie skryptowe ChanNew() obecnie akceptuje numer kanału wynoszący 0, który wskazuje na pierwszy nieużywany kanał.
- Filtr importowy BIOPAC obsługuje obecnie formaty plików do wersji 3.7.3.
- Jeśli do modyfikacji wartości rejestru dotyczących ustawienia edytora lub marginesów druku używa się polecenia skryptowe Profile(), to zmiany te są wprowadzane natychmiast. Poprzednio konieczne było ponowne uruchamianie programu Spike2.
Usunięte błędy
- Sygnały analogowe z lukami nie były właściwie obsługiwane przez polecenie Match zgodnie z kanałową i interpolarną metodą przetwarzania.
- Sygnały analogowe z procesem w danym kanale, w których wykorzystywano interpelację mogły spowodować zawieszenie programu Spike2 jeśli były rysowane w trybie kropkowym i występowała potrzeba ponownego odświeżenia jednej kropki.
- Wyszukiwanie aktywnego kursora do tyłu według punktu danych na sygnałach analogowych z procesem odbywającym się w kanale, który zmienia podstawę czasową lub pozycję punktów (na przykład przesunięcie czasowe, zmniejszenie próbkowania i interpolacja) działa obecnie właściwie.
- Dane analogowe i zdarzeń rysowane jako duże kropki lub szerokie linie nie były właściwie odświeżane kiedy obiekt był przesuwany nad okno.
- Obrazy rastra widoku czasu nie były rysowane jeśli oś y była odwrócona.
- Poleceniem DrawMode() nie można obecnie ustawić rosnącego lub obniżającego się brzegu podczas pracy na danych niepoziomych. W niektórych okolicznościach korelacje sygnałów analogowych mogły w niektórych okolicznościach prowadzić do niewłaściwych wyników.
- Jeśli wystąpiła taka sytuacja, to zwracane wartości były olbrzymimi liczbami (nie z zakresu-1 do 1).
- Instrukcja sekwencera sygnału wyjściowego RAMP nie zmieniała się na wartość ujemną w zespołach cyfrowo-analogowych.
- Konfiguracja próbkowania zmieniała wskaźnik (do tytułu dialogu konfiguracji próbkowania dodawana była *). Obecnie jest ustawiana poprawnie.
- Jeśli ostatnie zdarzenie w kanale rysowanym w trybie Mean Frequency mieściło się w obrębie średniej częstotliwości wielkości binarnej średniej częstotliwości końca pliku, to średnia częstotliwość nie była rysowana po ostatnim zdarzeniu.
- Zaplanowane próbkowanie miało charakter ciągły kiedy czas rozpoczęcia następnego bloku przekraczał maksymalny dozwolony czas próbkowania dla danego pliku.
- Jeśli użytkownik kliknął prawem klawiszem myszy na widoku XY i wybrał w menu kontekstowym pozycję Process Settings, to otwierał się dialog Process, a nie dialog Process Settings.
- Udokumentowana wartość zwrotna dla polecenia skryptowego była błędna.
- Opracowany przez CED filtr importowy CFS obecnie właściwie konwertuje pliki z wieloma ramkami ze skalą Y, która ulegała zmianie pomiędzy ramkami. Poprzednio program zakładał, że wszystkie ramki miały taką samą skalę.
- Jeśli zmieniono główny kolor kanału, to wszelkie odpowiednie dane również zmieniał kolor na podstawowy.
- Jeśli używano funkcji Rerun w odniesieniu do pliku danych, z którego były generowane widoki wynikowe a polecenie Rerum nie rozpoczynało się od godziny 0, to kolejne polecenie Rerun nie przetwarzało danych do momentu, gdy czas ponownego uruchomienia nie przekroczył czas osiągniętego w poprzednim przebiegu.
- Użycie w skrypcie parametru %E jako formatu druku służącego do druku rzeczywistej liczby powodowało awarię programu, ale parametr %e był poprawny.
Zmiany
- Nowe wirtualne kanały zajmują pozycję kanałów od 701 do 800. Zmniejszyło to miejsce dozwoloną dla kanałów, z 400 do 300 kanałów.
|
|
04/2004 |
5.06 |
Nowe funkcje
|
|
|
- Funkcja Channel Process obecnie zawiera filtr średniej.
- Dodano obsługę kilku monitorów. Polecenie System() może teraz zwrócić informacje o monitorach. Polecenie WindowVisible() pozwala na maksymalizację aplikacji na całym pulpicie. Można rozmieścić okna na ekranie monitora przy pomocy polecenia Window().
- Interaktywny system pomiaru (przytrzymanie klawisza Alt i kliknięcie lewym przyciskiem, a następnie przeciągnięcie) wyświetla obecnie pozycję myszy jeśli mysz nie zostanie przeciągnięta. Wyświetlane są teraz jednostki pomiaru.
- W dialogach informacyjnych TextMark i Channel nie można edytować pól, jeśli kanał jest częścią pliku tylko do odczytu. Zawsze można edytować kanały pamięci.
- Wszystkie wyszukiwania wartości szczytowych kursora, wartości minimalnych i progowych obsługują teraz widok czasu. Można teraz (opcjonalnie) odrzucić zbyt szerokie wartości szczytowe i minimalne oraz zbyt krótkie zbieżności poziomów. Język skryptowy obsługuje tę funkcję poprzez argument szerokość ChanSearch() i CursorActive().
- Można dokonywać pomiary pomiędzy kursorami z kanałów RealMark i kanałów rysowanych w trybie średniej i chwilowej częstotliwości.
- Sekwenser sygnału wyjściowego obecnie obsługuje przetworniki cyfrowo-analogowe z ciągłym sygnałem piłowym (nie 1401plus).
- W sekwenserze sygnału wyjściowego, Power1401 może obecnie generować sinusoidy na przetwornikach cyfrowo-analogowych 0-3 (poprzednio były obsługiwane tylko przetworniki cyfrowo-analogowe 0 i 1).
- Sekwenser sygnału wyjściowego obecnie obsługuje tabelę wielkości zdefiniowanej przez użytkownika, która może być użyta do szybkiego przekazania dużych ilości informacji pomiędzy skryptem i sekwencją. Funkcja ta nie jest obsługiwana przez urządzenie 1401plus.
- Spike2 zapewnia obecnie systemowi operacyjnemu więcej czasu podczas próbkowania.
- Obecnie można automatycznie zastosować plik Global Resource do plików danych. Ułatwia to w dużym stopniu analizę list podobnych plików i plików przechowywanych na nośnikach tylko do odczytu. Użytkownicy skryptów mogą teraz mieć dostęp do tej funkcji przy pomocy polecenia FileGlobalResource().
- Pozycja Preferences w menu Edit ma obecnie nową zakładkę Compatibility. Obejmuje ona nową opcję wstecznej kompatybilności pomiarów z kanałów zdarzeń rysowanych w trybie średniej i chwilowej częstotliwości.
- Dokonano optymalizacji standardowych procedur arytmetycznych macierzy by były realizowane szybciej.
Usunięte błędy
- Funkcja SSOpen() może być obecnie używana bez żadnych argumentów, zgodnie z dokumentacją.
- Jeśli edytowano ustawienia Measurement to a data channel dla kanału pamięci i docelowym kanałem nie był kanał 401, to kanał docelowy był wymazywany.
- Jeśli to możliwe dialog Measure to XY zachowuje dane XY podczas zmiany ustawień.
- Jeśli kliknięto prawym przyciskiem myszy na kanale na powielonym widoku czasu i otwarto filtr markera lub dialog kanału pamięci, to nie dochodziło do automatycznego wyboru kanału.
- Wyszukiwania do tyłu na kanałach RealWave działa obecnie właściwie.
- Zliczanie procesu zwracane przez ChanProcessInfo() było za duże o 1. Ponadto kody typów zwracane w celu dopasowania do kanału były interpolowane i procesy zmniejszania intensywności próbkowania były błędne. Te trzy procesy nie były zapisywane, jeśli plik danych był zamykany i otwierany.
- Aplikacja Sonfix, która sprawdza i naprawia pliki danych może podać spis „zagubionych bloków" w uszkodzonych kanale typu waveform w niewłaściwej kolejności, co ograniczyłyby odzysk danych.
- Zamknięcie okna Log kiedy jest ono maksymalizowane (co je ukrywa), wyświetla teraz następne okno w trybie zmaksymalizowanym.
- W przypadku urządzenia 1401plus, polecenia sekwensera sygnału wyjściowego DELAY 0 lub DELAY Vn przy Vn równym zero ustawiają bardzo duże opóźnienie.
- Otwarcie dialogu Edit WaveMark w czasie próbkowania ustawiało próg aktywacji na 0 a następnie przywracało właściwy poziom. Powodowało to próbkowanie niechcianych wartości szczytowych.
- W poleceniu Print Screen w menu File sygnały analogowe mogły być drukowane na zewnątrz obszaru kanału.
- Widoki XY views utworzone poleceniem Measure to XY obecnie odpowiednio ustawiają rozmiar, dopasowując go do czcionki.
- Funkcja PlayWaveStatus$() zwracała argument pos% jako offset punktu na obszarze kanału, nie jako offset punktu na kanale na tym obszarze. Nie ma żadnej różnicy w przypadku powierzchni pojedynczego kanału, ale jeśli było n kanałów, to wartość pos% była większa n razy.
- Na edytorze sekwencji graficznej oczekiwanie na polecenie fazy 0 kosinusa powodowało wygenerowania niewłaściwego kodu i sekwencji i nie dochodziło do załadowania tej sekwencji.
- Jeśli wprowadzono zmiany do ostatniej pozycji kanału TextMark narysowanym w trybie Text lub State, to ten kanał nie był właściwie odświeżany.
- W wersji 5.05, jeśli dokonywano importu do kanału pamięci z trybu wykrywania wartości szczytowej sygnału typu waveform a dla wartości szczytowych nie było dodatniej wartości osi y, to pozycja wartości szczytowej była określana w próbce sygnału typu waveform przed wartością szczytową. To samo zjawisko odnosiło się do przeszukiwania minimów jeśli miały one wartości dodatnie.
- Polecenie skryptowe MemSetItem() nie anulowało obrazu jeśli nowy element zastępował element już obecny.
- Wyszukiwanie pochyłych minimów zawsze kończyło się powodzeniem, nawet jeśli dane rosły.
- Kanały rysowane w trybie sonogramu pomijały w dialogu Osi Y flagę Lock Y.
- Wielkość przycisków tekstowych na pasku narzędzi i paskach interaktywnych jest teraz obliczana dokładniej w oparciu o wprowadzony tekst.
- W wyszukiwaniach nachylenia krzywej i wyszukiwaniach procentu nachylenia używany jest obecnie minimalny czas etapu.
- Na widoku czasu opcja Delete menu Cursor obecnie obejmuje kursor 0, jeśli kursor ten jest widoczny. Jeśli wybiera się kursor 0, to kursor ukryty jako kursor 0 zawsze istnieje na widoku czasu.
- Polecenie Display all menu Cursor obecnie obejmuje swoim zakresem kursor 0, jeśli kursor ten jest widoczny.
Zmiany
- Wskaźnik pomiarowy myszy (przytrzymanie klawisza Alt i kliknięcie lewym przyciskiem na widoku czasu, wyniku lub XY) zostało zmienione tak, że obraz sprawia wrażenie mniejszego chaosu.
- W pomiarach pomiędzy kursorami i poleceniem skryptowym ChanMeasure() uwzględniany jest tryb rysowania zdarzeń. W szczególności kanały rysowane w trybie częstotliwości średniej i chwilowej mogą teraz przedstawiać wyniki jako częstotliwość w sytuacjach, gdzie poprzednio podawały liczbę zdarzeń Ponieważ mogło to spowodować niewłaściwe funkcjonowanie starych skryptów, funkcję tę można wyłączyć przy pomocy opcji Edit Preferences na zakładce Compatibility.
- Na liście plików w menu File nie ma obecnie plików otwieranych przez skrypty. Umieszczane są na niej jednak pliki eksportowane jako w formacie *.smr lub *.txt, dzięki czemu można je otworzyć by sprawdzić ich zawartość.
|
|
01/2004 |
5.05 |
Nowe funkcje
|
|
|
- Menu Analysis zawiera nowe polecenie Fit Data dopasowujące krzywe wykładnicze, wielomionowe, gaussowskie i sinusoidalne do danych kanału w czasie, widoku wyniku lub XY.
- Nowe polecenia skryptowe obsługują dopasowywanie krzywych: ChanFit(), ChanFitCoef(), ChanFitShow() and ChanFitValue().
- System Measurement menu Analysis ma obecnie dostępnie do odpowiednich współczynników. Jeśli został wybrany pasujący współczynnik, to dopasowanie odbywa się po każdym powtórzenia kursora 0. Rozszerzono i dopasowano polecenia skryptowe MeasureX() i MeasureY().
- Polecenia skryptowe MeasureX() i MeasureY() obecnie akceptują wartości oraz ciągi w przypadku argumentów expr1 i expr2.
- W opcji Measurements znajduje się nowe menu Analysis służące do utworzenia kanałów danych w oparciu o pomiary aktywnych kursorów. Opcję tę można używać zarówno w trybie on-line jak i off-line. Przykładem takiego zastosowania jest wizualizacja w czasie rzeczywistym i w czasie rzeczywistym rytmu pracy serca w oparciu o kanał ciśnienia krwi . Stosowane jest także polecenie skryptowe MeasureToChan().
- W skład pomiarów kanałów wchodzi zarówno proporcja, oraz suma jak i różnica wartości.
- Mechanizm powtarzania aktywnego kursorów Data Points pozwala obecnie na określenie liczby punktów pomiędzy każdym pomiarem. Umożliwia to na przykład łatwe, krokowe przetwarzanie 1000 danych za jednym razem.
- System aktywnych kursorów i polecenie skryptowe ChanSearch() pozwala obecnie na wyszukiwanie wartości w obrębie dwóch wartości granicznych jak i poza nimi.
- Polecenie skryptowe RasterGet()może obecnie zwrócić ilości serii pobranych danych w przeliczeniu na kanał.
- Nowe polecenie skryptowe ViewKind()akceptuje obecnie ujemny argument użyty do zbadania typu okna, z którego można uzyskać widok wyniku lub widoku XY. Pozwala to na sprawdzenie przez skrypt okna macierzystego, przed użyciem widoku View(-1). Dzięki temu nie dochodzi do awarii programu.
- Nowe polecenie skryptowe new ViewLink() pozwala obecnie na wyszukiwanie widoku macierzystego przez skrypt. Polecenie to różni się od polecenia View(-n), które zwraca n-ty duplikat okna macierzystego.
- Można obecnie kanały RealMark, analogowy (waveform) oraz RealWave na widoku czasu przestawić na tryb rysowania Skyline. Rozbudowano i dopasowano polecenie skryptowe DrawMode().
- Zakładka sekwencera w dialogu konfiguracji próbkowania ma obecnie nową opcję zapobiegania przypadkowego naciśnięcia klawisza przez użytkownika, co wcześniej powodowały załomki sekwencera. Stosowane jest także polecenie skryptowe SampleSeqCtrl().
- Zwiększono użyteczność stosowania kilku dialogów podpowiadających użytkownikowi wprowadzenie zakresów czasu i istnieje większa szansa wykorzystania początkowej pozycji zakresu czasu.
- Nowe polecenie skryptowe ArrSpline() wykorzystuje bryły przestrzenne do ponownego próbkowania jednej tabeli na drugą.
- W dialogu kształtu wartości szczytowej stosowane są zarówno bryły sześciennej jak i metoda interpolacji
- Polecenie skryptowe MarkMask() może obecnie przy pomocy tabeli uzyskać informacje o masce i jej stanie.
- W trybie rysowania Overdraw WM można obecnie kliknąć prawym klawiszem myszy na wartości szczytowej i wybrać opcję "Find with cursor 0", która przenosi kursor 0 do wartości szczytowej, która jest najbliższa wartości szczytowej.
- Wprowadzono zapis okien New WaveMark i Edit WaveMark oraz można je używać w skryptach. Wprowadzono nową rodzinę poleceńskryptowych SSxxxx(), natomiast kilka innych poleceńobecnie pracuje na oknie kształtu wartości szczytowej, który jest ustawiony jako widok bieżący. Dzięki temu skrypty mają dostęp do szablonów wartości szczytowych.
- Dialogi grupowania pozwalają na wyświetlanie osi x, y i z dla tych danych.
- Aplikacja Spike2 Video pozwala na ustawienie nie tylko minimalnego, ale także maksymalny współczynnik ramek. Funkcja ta jest przeznaczona dla kamer ze stałym współczynnik ramek.
- Interpelacja brył sześciennych jest używana podczas obliczania pozycji wartości szczytowych i skrzyżowania poziomów w Menu Analysis kanału Memory Buffer Import.
- Obecnie w celu funkcjonowania całej matrycy lub wektora można pominąć puste marginesy kwadratowe. Do przykładów należy podanie zmiennej var A[10][3], v[4], przy zdefiniowaniu przez użytkownika Proc Fred(m[][], vec[]) można było użyć procedury Fred(A, v) a nie Fred(A[][], v[]).
- Wprowadzono dwa nowe operatory współpracujące z macierzami - diag(M) i trans(M), gdzie M oznacza matrycę. Generują one przekątną i transpozycję macierzy. Można także użyć znaku ` (otwierający cudzysłów), który będzie stanowić skrót trans(). Przykładowo, jeśli występuje zmienna A[4][4] to można zastosować PrintLog(trans(A)), PrintLog(A`) lub PrintLog(A[][]`) to do przeniesienia transpozycji matrycy PrintLog(). PrintLog(diag(M)) przechodzi do PrintLog() przez przekątną macierzy.
- Język skryptowy obecnie obsługuje funkcje cosh(), sinh() i tanh().
- Maksymalna liczba linii dialogu definiowanego przez użytkownika zwiększono do 40.
- Polecenia skryptowe ArrSum() i MatMul() obecnie akceptują jako argumenty zarówno dane wektorowe (matryce jednowymiarowe) jak i matryce (macierze dwuwymiarowe).
- Polecenie pracy w trybie off-line obsługuje obecnie "ukierunkowaną" analizę. Rozbudowano i dopasowano odpowiednio polecenie skryptowe Process().
- W wersji tej przetwarzane są wyższe współczynniki próbkowania; które są dostępne w najnowszej wersji Power1401. Uruchomienie wyższych współczynników próbkowania wymaga zaznaczenia "Power1401 625 kHz" w dialogu urządzenia 1401 w zakładce rozdzielczości w dialogu konfiguracji próbkowania.
Usunięte błędy
- Polecenie View(-1).Cursor(1) nie akceptowało wyrażenia dialogu kiedy nie było zduplikowanych widoków.
- Jeśli uruchomiono polecenie skryptowe Interact() lub Toolbar() a menu Cursor menu nie było aktywne, to nadal można było dodać nowy poziomy kursor poprzez kliknięcie przycisku z lewej strony osi przewijania x.
- Jeśli w wyniku powielania utworzono kanał sygnału analogowego poprzez powielenie kanału a następnie ustawiano tryb rysowania sonografu, to Spike2 mógł nie reagować podczas rysowania.
- Wynik polecenia Copy As Text z kanału RealMark niewłaściwie formułował rzeczywiste wartości.
- Przetwarzanie w trybie on-line nie musi spowodować usunięcia zakresu wartości lub ustawienia początkowego w celu przetwarzania na bieżąco jeśli skorygowano ustawienia dla przetwarzania w trybie on-line.
- Jeśli w skrypcie użyto polecenia FilePathSet("")i wybrano główny folder napędu, to wybierany był bieżący folder wybranego napędu.
- Podczas próbkowania danych można było przedwcześnie wyłączyć urządzenia 1401 wskutek przepełnienia bufora (zjawisko to było wywołane tym, że większość komputerów osobistych nie było w stanie sprostać tempu przekazywania danych) i komputer nie podawał żadnego wyniku.
- Wcześniej, jeśli tempo próbkowania było zbyt szybkie i następowało zatrzymanie próbkowania, wtedy pojawiał się komunikat "Thread termination failed".
- Jeśli konfiguracja kształtu wartości szczytowej była zapisana ręcznie, to zachowane wartości wyższego poziomu aktywacji nie stanowiły najnowszych danych.
- Graficzny edytor sekwencji zapewniał wyświetlania bardzie umożliwiał uzyskanie bardziej realistycznych załomków.
- Podczas przeciągania danego elementu myszką, jeśli fokus sygnału wejściowego jest przechwycony przez inną aplikację (na przykład w celu wyświetlenia komunikatu o błędzie ) lub do zmiany aplikacji(!) użyto kombinacji klawiszy Alt+Tab, to działanie myszy było przerywane. Wcześniej dochodziło do zakłóceńprogramu Spike jeśli nie wiadomo było, czy dany element był przeciągany czy też nie.
- Przeszukiwanie kanałów pod względem danych WaveMark obecnie zachowuje odbywa się zgodnie z dokumentacją w trybie rysowania. Jeśli używany jest tryb punktów danych, to zawsze dane typu WaveMark są traktowane jako zdarzenia.
- Wyszukiwanie do tyłu w kanale zdarzeńw rysowanym w trybie średniej mogło doprowadzić do zatrzymania programu w jednej pozycji.
- W graficznym edytorze sekwencji znak na początku segmentu był pomijany jeśli pozycja kontrolna była ustawiona na godzinę zero.
- Polecenie DrawMode(ch%,-2) nie zwracało właściwej pozycji znacznika linii poziomej jeśli używano je w odniesieniu do kanałów zdarzeńrysowanych w trybie linii.
- Godzina pliku wyświetlana w dialogu informacji w menu widoku ulęgała zmianie wraz z datą strefy czasowej systemu i nie odpowiadała godzinie zwracanej przez funkcję skryptu FileTimeDate().
- Nie występują zakłócenia funkcji importu tekstu w zakresie dotyczącym skalowania kanału, jeśli zmieniano liczbę linii nagłówka.
Zmiany
- Jeśli rejestrowano użycie dialogu Process dialog i używano wyrażeńodnoszących się do czasu, na przykład Cursor(1) to zamiast View(-1).Cursor(1) widoczny był Cursor(1) . Obecnie, podczas rejestrowania zdarzeńpodczas wyświetlania danych Process wyświetlane są rozwijane godziny w formie View(-1).Cursor(1). Ponieważ takie ustawienie sprawia wrażenie chaosu, to nie należy używać tego formatu jeśli nie jest wykorzystywania funkcja nagrywania.
- Obecnie nie działają skrypty używające "trans" i "diag" jako nazw zmiennych lub funkcji definiowanych przez użytkownika. Naprawienie tych skryptów wymaga zastąpienia tych nazw innymi nazwami.
|
|
10/2003 |
5.04 |
Nowe funkcje
|
|
|
- Obecnie możliwe jest nagrywanie i odtwarzanie multimedialne pliki audio i wideo.
- Można zablokować odświeżone kanały w taki sposób, że oś y skaluje wszystkie kanały. Można również ustawić przesunięcie indywidualnego, pionowego obrazu kanału w rozmieszczając kanały tak, że nie zachodzą na siebie. Do obsługi nowych funkcji użytkownicy skryptów stosują polecenie ChanOrder() i nowe polecenie YAxisLock().
- W menu preferencji wprowadzono nową opcję "Enter debug on script error". Daje ona możliwość zobaczenia wartości zmiennej skryptu po wystąpieniu błędu.
- Podczas otwierania pliku danych programu Spike2 występuje więcej procedur sprawdzania pliku. Polecenie SONFix zostało rozszerzone tak, że naprawia pliki, które nie przeszły przez nowe procedury kontroli.
- Polecenie skryptowe XYAddData() zostało rozbudowane w taki sposób, że łatwiej jest kopiować dane analogowe do widoku XY.
- Polecenie skryptowe SampleKey() obecnie zwraca godzinę dodania markera.
- W wyrażeniach dialogu obecnie możliwe jest stosowanie poleceń MaxTime(n) jak i MaxTime(). Można to wykorzystać w przypadku aktywnych kursorów w trybie wyrażeń by znaleźć ostatnią pozycję danych w kanale.
- Ułatwiono funkcję importu tekstu i obecnie można wybrać zarówno import kanałów analogowych, typu i kanałów zdarzeń, takich jak Event-, Event+ lub Level.
- Menu Cursor ma obecnie polecenia powtarzania aktywnego kursora 0 na lewo i na prawo.
- Polecenie skryptowe BinError() obecnie umożliwia dostęp macierzy do błędów w widoku wyniku.
- Polecenie skryptowe System$() może obecnie odczytywać i zapisywać zmienne środowiskowe.
- Możliwe jest teraz zastosowanie w przypadku polecenia Add items bufora pamięci menu Analysis w odniesieniu do danych analogowych i danych typu RealWave. Umożliwia to interaktywne edytowanie danych analogowych.
- Polecenia DlgVisible() i DlgEnable() pozwalają obecnie na użycie tabel pozycji dialogu jako uzupełnienie pozycji dialogu.
- Jeśli nie można otworzyć pliku tekstowego ze względu na obecność niedozwolonych znaków, to pojawia się wyjaśniający komunikat.
- Paleta kolorów i kolory aplikacji są obecnie zapisywane w rejestrze a nie plikach konfiguracyjnych próbkowania. W menu Preference menu Edit znajduje się pole wyboru (zwykle niezaznaczone), które umożliwia ustawienie poprzedniego postępowania programu.
- W dialogu Colour, który umożliwia zastąpienie kolorów tła poszczególnych widoków i poszczególnych kanałów znajdują się nowe zakładki. Polecenie ChanColour() zostało obecnie zmienione i wprowadzono polecenie skryptowe ViewColour().
- Zmieniliśmy sposób rysowania linii na widoku XY dzięki czemu obecnie jest znacznie więcej szansa, że po eksporcie metapliku do programu graficznego będą one mieć formę zgrupowanego obiektu.
- Polecenie MemSave() ma obecnie nowy argument, który umożliwia zastąpienie standardowej wielkości bloku dysku podczas zapisywania danych. Jeśli zapisywany jest kanał pamięci, który zawiera małe fragmenty danych, to ustawienie małego rozmiaru bloku dysku może zmniejszyć wielkość pliku danych.
- Polecenie skryptowe DlgText() ma dodatkowy argument służący do ustawiania szerokości pola.
- Polecenie skryptowe ChanKind() zwraca obecnie 0 jeśli użyto niewłaściwego typu widoku. Obecnie nie powoduje krytycznego błędu. Zapisuje typ widoku testu przed jego zastosowaniem.
- W pomocniczych pomiarach przy tworzeniu histogramu ignorowane jest wydarzenie inicjujące w czasie 0. Pozwala to na wyświetlenie markera jeśli następna seria danych nakłada się na aktualną serię.
- Polecenie skryptowe ChanMeasure() obecnie dosługuje wartości type% w zakresie 16-19.
- Polecenia ToolbarSet() i Interact() umożliwiają włączenie wskazówek dotyczących przycisków.
- Kombinacja klawiszy Alt+Shift+lewa/prawa strzałka może być wykorzystana do przejścia do następnego i poprzednie sygnału aktywującego widok.
- Importer plików obsługuje obecnie format Bionic NSx.
- Polecenie PlayWaveSpeed() ma teraz opcjonalny, dodatkowy argument powodujący zgłaszanie danych o zastosowanym tempie.
Usunięte błędy
- Jeśli dzielono linię w edytorze skryptów, to mogło dojść do utraty znaków i wcięcie nowej linii było często niewłaściwe.
- W polecenie skryptowym PlayWaveCopy() występowały problemy z transferami, które powodowały nagromadzenie danych na końcowym obszarze docelowym i rozpoczynał się offset stanowiący wielokrotność czterech próbek.
- Jeśli obecnie uruchamiany jest dialog dotyczący łączenia w grupy i brak zdarzeń do łączenia, wtedy pojawia się komunikat wyjaśniający problem. Poprzednio program nie wykonywał żadnych czynności, co dezorientowało użytkownika.
- Zmiana ustawień procesu podczas transformacji na widok XY obecnie nie powoduje zniknięcia przycisku XY.
- Zmiana przez skrypt ostatniego zakresu na widoku wyniku nie powodowała odświeżenia obrazu.
- Na widoku wyniku polecenie ChanMeasure() oraz dialog regionów kursora nie pozwalały na przetwarzanie ostatniego zakresu i średnia wartości X była błędna.
- Jeśli używano programowalnego przetwornika sygnału, na przykład CED 1902, to ustawienia przetwornika zapisane w konfiguracji programu Spike2 nie zawsze były stosowane przy pierwszym próbkowaniu danych po uruchomieniu programu Spike2.
- W dialogu bufora Create Memory można było ustawić trzy ścieżki dla danych typu WaveMark.
- Importowanie kanału Wavemark do bufora pamięci kanału Wavemark mogło spowodować awarię programu Spike2 jeśli ilości punktów danych i punktów sygnałów inicjujących nie były dopasowane do siebie.
- Dane WaveMark z pojedynczym punktem sygnału analogowego nie jest niewidoczna, kiedy jest rysowana jako sygnał falowy.
- Polecenie skryptowe BinError() uniemożliwiało dostęp do informacji o błędach, jeśli te błędy nie były wyświetlane.
- Opcje Channel Process interpelacji bryły sześciennej danych RealWave powodowały, że po luce nie było żadnych danych.
- Kiedy polecenie skryptowe DupChan() zwracało wartości, które nie były numerami kanałów, to były one za niskie o 1.
- Wyrażenia tekstowe wprowadzane w pole DlgXValue() w dialogu definiowanym przez użytkownika, są obecnie zachowywane przez czas wyświetlania dialogu.
- Nie można było wywołać zmiany funkcji ustawionej poleceniem DlgAllow(), jeśli po edycji pola wyświetlany był przycisk Cancel.
- Jeśli zmieniany jest tryb rysowania kanału, który stanowi część grupy w taki sposób, że nie ma on osi y, to kanał oddziela się od grupy.
- Polecenie MarkInfo() nie zwracało 0 jeśli było stosowane w odniesieniu do kanału markera.
- Polecenie skryptowe FileSaveAs() nie wymusza już wyświetlania widoku czasu, przed jego zapisaniem.
- Zdarzenia WaveMark na widoku czasu z kodami większymi od 8 były rysowane w niewłaściwych kolorach.
- Zmiany ustawień przetwornika sygnału w trakcie próbkowania powodowały dodanie kodu 02 do kanału TextMark lub do kanału markera klawiatury jeśli nie było kanału TextMark.
- Zmiany dotyczące przetwornika sygnału w trakcie próbkowania są obecnie zapisywane w konfiguracji próbkowania i są obecnie stosowane podczas ponownego próbkowania.
- Polecenia skryptowe ScriptBar() i SampleBar() nie obsługiwały wszystkich udokumentowanych kombinacji argumentów.
- Polecenie skryptowe Debug(msg$) zapisuje obecnie zawartość msg$ w źródła skryptu, zgodnie z dokumentacją.
- Polecenie DrawMode() z mode% ustawionym na 0 obecnie ustawia zgodnie z dokumentacją standardowy tryb rysowania. Wcześniej nie wykonywało żadnego działania.
- Importer plików Neuralynx dla ciągłych plików danych analogowych obecnie pomija tempo próbkowania w blokach danych. Tempo próbkowania jest określane w oparciu o znaczniki czasowe bloków danych.
- Macierz kowariancji zwracana przez odpowiednio procedury FitLinear() i FitPoly() była niewłaściwie skalowana.
Zmiany
- Polecenie ChanMeasure() w trybie slope uwzględniało zakres końcowy w obliczeniach na widoku wyniku. Takie zachowanie różniło się od wszystkich innych trybów. Obecnie nie obejmuje zakresu końcowego.
- Polecenie języka skryptowego MaxTime(chan%) zwraca -1 jeśli w kanale nie są przechowywane żadne dane. Poprzednio zwracało 0 (co mogło oznaczać, że w godzinie 0 były dane).
- Interaktywne polecenia z klawiatury by wypośrodkować obraz na następnym/ostatnim zdarzeniu w wybranych kanałach zdarzeń zostało zmienione z Ctrl+Shift+prawa/lewa strzałka, (która była również używana do powtarzania aktywnego kursora) na Alt+strzałka w prawo/lewo.
- Jeśli rozpoczynany jest import kanału WaveMark do kanału Wavemark bufora pamięci z inną liczbą punktów analogowych lub punktów inicjowania, to punkty inicjowania sygnału wyjściowego i wejściowego są obecnie dopasowane. Poprzednio dopasowywany był pierwszy punkt sygnału wyjściowego i wejściowego.
- Domyślna paleta kolorów została zmieniona tak, by zawierała więcej kolorów oraz usunięto z niej zduplikowane kolory. Domyślna tabela kolorów aplikacji została zmodyfikowana w taki sposób, że zmieniono domyślny kolor siatki i wyeliminowane skutek usuwania duplikatów. Nie ma wpływu na działanie, chyba że w dialogu ustawiania koloru zostanie kliknięty przycisk Reset All.
- Polecenie skryptowe FitExp() obecnie odpowiada y = A0 * exp(-x/A1) + A2 * exp(-x/A3)... a nie y = A0 * exp(-A1*x) + A2 * exp(-A3*x)..., jak było wcześniej.
|
|
07/2003 |
5.03 |
Nowe funkcje
|
|
|
- Menu kontekstowe wywoływane kliknięciem prawego przycisku myszy obecnie ma we wszystkich oknach tekstowych opcje "Select All" i "Clear".
- Polecenie Fetch menu kursora obecnie zawiera opcję "All cursors".
- Polecenie skryptowe Optimise() obecnie używa zakresu i na widoku wyniku. Wcześniej te argumenty działały jedynie na widoku czasu. Są one nadal pomijane na widoku XY.
- Wcześniej importowane dane miały 32 kanały lub liczbę kanałów w pliku wejściowym, w zależności od tego, która wartość była większa. Obecnie jeśli plik wejściowy ma n kanałów, to importowany plik ma liczbę kanałów większą od n*1.25 lub 32, dzięki czemu można uzyskać miejsca na zapisanie przetwarzanych danych.
- Opcja Preferences w menu Edit obecnie wywołuje dialog z zakładkami. Dzięki temu rozbudowano menu Preferences; wcześniej było ono bardzo zatłoczone.
- W zakładce General, opcja Preferences, znajduje się nowe menu Edit służące do zapisu zmodyfikowanych skryptów w czasie ich wykonywania.
- Obecnie na zakładce Conditioner dialogu Preferences można ustawić port kondycjonera sygnału z portu COM w zakresie od 1 do 8. Wcześniej można było wybrać porty 1- 4.
- Dosowy konwerter skryptów obecnie używa Yield() do przetłumaczenia polecenia.
- Obecnie wprowadzono nowe polecenie Apply nowego menu File, które wykorzystuje plik zasobów na obecnym widoku czasu. Stosowane jest także polecenie skryptowe FileApplyResource(). Można je zastosować do szybkiego przełączenia w stan widoku złożonego.
- Możliwe jest wykonywanie innych działań kiedy dialog Set Marker Codes jest otwarty. Oznacza to, że można przesuwać kursory na towarzyszącym widoku czasu, kiedy ten dialog jest otwarty.
- Kiedy widoki wyniku z informacjami o błędzie są rysowane jako linie, bryły sześcienne lub punkty, najpierw rysowane są błędy, dzięki czemu wartości danych pozostają na górze. Poprawia to wygląd kiedy błędy są w innym kolorze.
- Jeśli program Spike2 jest uruchamiany z linii poleceń, w której określa się plik lub jeśli program wykrywa plik autostartu startup.s2s, to zawieszone jest wyświetlanie ostrzegawczych ramek, w których znajduje się prośba do użytkownika o zamknięcie tych komunikatów.
- Wprowadzono nowe polecenie w linii poleceń /Q, które powoduje zawieszenie wszystkich początkowych komunikatów z informacjami oraz okna uruchamiania programu Spike2.
- Wprowadzono nową opcję Channel Process dla amplitudy RMS. Rozbudowano i dopasowano polecenie skryptowe ChanProcessAdd().
- Polecenie skryptowe Error$() obecnie uwzględnia kody błędów związanych z urządzeniem 1401.
- Jeśli zostanie przytrzymany klawisz Alt oraz kliknięty widok czasu, wyniku lub XY, to na ekranie będzie widoczny przeciągany prostokąt.
- Na pasku statusu wyświetlana jest obecnie pozycja myszy dla widoku czasu, wyniku i XY.
- Do nazwy widoku dołączana jest * dla zmodyfikowanego widoku tekstu, czasu, wyniku i widoku XY. Zmianie nie ulega tytuł widoku zwracany przez polecenie WindowTitle$().
Usunięte błędy
- Polecenie skryptowe FileSave() nie pyta o potwierdzenie nadpisania swojego własnego pliku danych, jeśli jest używane z widokiem tekstu, wyniku i XY.
- Dialogi Process mogły wyświetlać czas do 15 miejsc po przecinku jeśli towarzyszący im plik danych miał podstawę czasową, która nie była dokładną wielokrotnością mikrosekund. Utrudniało to ich edycję.
- Wyszukiwanie aktywnych kursorów w trybie punktów na kanałach zdarzeń już nie pomija minimalnej wartości kroku.
- Jeśli używano funkcji skryptu ChanKind() na widoku XY, to zawsze zgłaszał on kanał XY, nawet jeśli nie było tego numeru kanału. Obecnie zwraca 0 jeśli kanał nie istnieje.
- Jeśli polecenie Edit WaveMark jest używane w trybie on-line i zmieniany jest poziom aktywacji, ale nie wykorzystuje się przycisku Online Update, to program pamięta poziomy aktywacji.
- Jeśli automatycznemu próbkowaniu poddawana była seria plików, to można było doprowadzić do awarii programu Spike2 jeśli dialog Abort lub Reset był aktywny kiedy próbkowanie dochodziło do końca pliku i rozpoczynało następny plik. Obecnie następny plik nie jest otwierany dopóki nie zostanie zamknięty dialog.
- W skład odczytywanych danych TextMark z układu szeregowego nie wchodzą już znaki, które zostały przyjęte przed rozpoczęciem próbkowania.
- Jeśli na widoku XY używa się polecenie języka skryptowego Optimise(), to wynik jest dokładnie taki sam, jak w przypadku użycia przycisku Optimise w dialogu osi y.
- Wcześniej dialogi tworzenia grup miały bardzo dużą wielkość.
- Przyciski paska narzędzi powiązane z literami A-Z poprzez ToolbarSet() obecnie nie są uruchamiane jeśli jest wciśnięty klawisz Ctrl. Dla przykładu, przycisk powiązany z klawiszem C był również powiązany z kombinacją klawiszy Ctrl+C.
- Jeśli polecenie języka skryptowego MinMax() było używane w odniesieniu do danych RealMark, to wyszukiwało ono jeden punkt danych przed rozpoczęciem danego zakresu czasowego.
- Jeśli używano polecenie skryptowe Read() i jeśli polecenie to nie mogło odczytać z okna tekstowego żadnych argumentów, to nie pomijało ono linii tekstu, jak to podawała dokumentacja.
- Polecenie skryptowe Draw() nie aktualizowało widoku opartego na tekście.
- W systemie Windows 95/98/Me dane rysowane w trybie tempa nie były właściwie wizualizowane jeśli zostały zmniejszone tak, że na osi x wyświetlana była niewielka część zakresu.
- Polecenie skryptowe MeasureToXY() uwzględnia obecnie polecenie użytkownika dotyczące sprawdzania pozycji kursora.
- Opcje Channel Process interpelacji bryły sześciennej powodowały, że po luce nie było żadnych danych.
- Polecenie FileConvert$() już nie ignoruje parametru flag%.
- Kompiler skryptowy nie alarmował, jeśli do polecenia skryptowego DlgAllow() wstawiano funkcję braku aktywności z argumentem.
Zmiany
- Dialogi Process obecnie usuwają wiodące 0 przed podawaną godziną. Wcześniej w pliku danych o rozdzielczości czasowej 10 mikrosekund, 0,1 sekundy było wyświetlane jako 0,10000 sekund.
- Dawniej jeśli doszło do zatrzymania próbkowania i w pliku danych nie było żadnych danych, wtedy program Spike2 wymazywał plik. Mogło to prowadzić do problemów, w wyniku których dochodziło do niespodziewanego znikania plików. W ramach eksperymentu obecnie zachowujemy takie pliki i dodajemy komentarz do pliku (chyba że użyto już komentarza 4 do pliku) z informacją o rzeczywistym czasie trwania próbkowania.
- Do środka każdego widoku nie dodaje się obecnie pionowych kursorów. Obecnie są one umiejscawiane w miejscach zależnych od numeru kursora.
- Jednostki kanału widoku czasu są obecnie odczytywane z wyświetlanego kanału, nie podstawowego pliku danych. Oznacza to, że kanały zdarzeń wyświetlanych jako częstotliwość są podawane w Hz.
- Polecenie skryptowe Optimise() obecnie działa na listę podanych kanałów (nawet jeśli są one ukryte). Polecenie to wcześniej nie optymalizowało ukrytych kanałów.
|
|
06/2003 |
5.02 |
Nowe funkcje
|
|
|
- Jeśli w Eksploratorze Windows kursor myszy zostanie przesunięty na plik *.smr (danych), to pojawi się okienko z informacją o pliku. Informacje te zawierają dane o rozdzielczości czasowej pliku, czasie trwania oraz wszelkie komentarze o plikach.
- Jeśli plik myszy zostanie ustawiony w Eksploratorze Windows na pliku*.s2s (skrypcie,) i w pierwszą linijkę skryptu wstawiono komentarz o pliku, to komentarz ten pojawi się w postaci okienku z informacją.
- Jeśli używany jest system Windows NT2000 lub XP, to na widoku szczegółowym można wyświetlać komentarze związane z plikiem danych programu Spike2 (.smr) i plikiem skryptowym (.s2s).
- Okno kształtu i klastera programu Spike ma obecnie w prawym dolnym rogu ramkę do zmieniania kształtu okna.
- Okna dialogu szablonu kształtu wartości szczytowej wyświetlają obecnie oprócz wartości szczytowych dodanych do każdego szablonu szereg dopasowanych wartości szczytowych. Polecenie menu Template Initialize counters ustawia dopasowany wynik zliczenia na zero.
- Następujące nowe polecenia skryptowe obsługują dopasowywanie krzywych: FitExp(), FitGauss(), FitSin(), FitPoly(), FitLinear(), FitNLUser().
- Następujące polecenie skryptowe obliczają funkcję Gamma: GammaP(), GammaQ(), LnGamma(). Polecenia te są użyteczne podczas opracowywania rozkładu normalnego i Poissona.
- Wprowadzono nowe funkcje skryptowe MATInv(), MATMul(), MATDet(), MATSolve(), MATTrans(), które obsługują operacje na macierzy z dwuwymiarowymi macierzami.
- Następujące polecenia skryptowe obsługują obecnie macierze dwuwymiarowe: Abs(), ArrAdd(), ArrConst(), ArrDiv(), ArrDivR(), ArrMul(), ArrSub(), ArrSubR(), ATan(), Cos(), Exp(), Frac(), Ln(), Log(), Pow(), Round(), Sin(), Tan(), Trunc().
- Poprawiono skuteczność mechanizmów importu plików, które tworzą pliki zgodne ze starszymi wersjami programu Spike2.
- Polecenie skryptowe Rand() zostało rozszerzone tak, że można określić zakres losowo dobranych liczb i wypełnić macierz losowo wybranymi poleceniami.
- Wprowadzono nowe funkcje skryptowe RandExp() i RandNorm(), które generują losowe liczby z funkcją wykładniczą i z normalną gęstością. Polecenie RandExp() można użyć do utworzenia list godzin zdarzeń w oparciu o metodę Poissona. Można użyć polecenia RandNorm() do dodania do sygnałów falowych hałasu o rozkładzie normalnym.
- Przetwarzanie związane z kanałem (Channel Process) zostało rozszerzone tak, że obejmuje interpolację brył sześciennych kanałów na dowolne tempo próbkowania i ustawienie. Rozszerzono także polecenie ChanProcessAdd(), aby odpowiadało tym parametrom.
- Nowe polecenie skryptowe PCA() wykonuje analizę podstawowych elementów.
- Obecnie można używać polecenia ChanSelect() na widoku wyniku.
Usunięte błędy
- Można było doprowadzić do awarii programu Spike2 poprzez wydrukowanie bardzo dużej liczby w formacie %f. Dla przykładu: PrintLog("%8.0f", 1e300);
- Program nie zgłaszał żadnego błędu jeśli użyto polecenia SetResult() z argumentem chans% i bez argumentu xU$.
- Przewijanie sygnału falowego w trybie brył sześciennych mogło spowodować niedokładne wyświetlanie danych.
- Użycie dialogów tworzenia grup anulowało cykliczne odtwarzanie w dialogu kształtu w programie Spike.
- Jeśli użyto polecenia FitLine() na widoku wyniku i końcowa liczba zakresu przekraczała koniec obrazu wynikowego, to wyniki były niepoprawne.
- Jeśli eksportowano plik utworzony przez bardzo starą wersję programu Spike2 do nowego pliku, to mogło dojść do awarii programu.
- Sekwencje określane przez polecenie skryptowe SampleSequencer() nie zawsze było wyświetlane w konfiguracji próbkowania.
- Polecenie skryptowe Process() zmieniało treść widoku wyniku, ale nie powodowało odświeżenia ekranu.
- Modyfikacje zakresu widoku wyniku nie powodowały uaktualnienia powielonych kanałów.
Zmiany
- Wielkość dialogu utworzonego przez skrypt jest teraz ograniczona do 180 znaków, a wysokość do 30 znaków.
- Jeśli uzyskano wynikową macierz dwuwymiarową przy pomocy polecenia Print(), PrintLog(), Print$() lub Message(), to w danych wynikowych użyty jest pierwszy indeks jako rzędy i drugi jako kolumny. Odpowiada to notację matrycy.
- Przycisk zamykający w górnym prawym rogu dialogów utworzonych przez skrypt został usunięty, gdyż nie spełniał żadnej funkcji.
|
|
04/2003 |
5.01 |
Nowe funkcje
|
|
|
- Rysowanie danych jako linii na widoku wyniku, jeśli na jeden piksel przypada wiele danych powoduje, że obraz wygląda na mniej "poszarpany".
- Wprowadzono nową metodę Mieszania Normalnych (Normal Mixtures) służącą do tworzenia grup danych.
- Wprowadzono nowy klawisz skrótu (Ctrl+Shift+K) dla polecenia "KMeans from existing" w dialogu tworzenia grupy danych.
- Podczas debuggowania można teraz pominąć funkcje Interact(), Toolbar()i DlgShow().
- Jeśli określono nazwę kanału dla widoku XY, to jest ona używana w dialogu Pokaż/ukryj kanały.
- Program Spike2 obsługuje obecnie tematy Windows XP jeśli chodzi o wygląd okien i przycisków.
- Rozszerzono import plików EDF tak, że obsługuje format BDF.
- Importer plików Plexon obsługuje obecnie formaty plików danych z wieloma ramkami.
- Wprowadzono nowy importer plików do plików danych Multi Channel Systems. Użycie tego importera wymaga uzyskania i zainstalowania aktualnej biblioteki MCStream (wersja 2,4,0,0 lub późniejsza).
Usunięte błędy
- Zwiększono maksymalną dozwoloną szerokość dialogów definiowanych przez użytkownika.
- Nazwa osi y i jednostki kanału widoku wynikowego obecnie odzwierciedlają zmiany pomiędzy trybem rysowania rastrowego i nierastrowego.
- Polecenie skryptowe DrawMode() obecnie powoduje tylko odświeżenie rysunku jeśli zmienia się tryb rysowania. Wcześniej polecenie to zawsze powodowało odświeżenie rysunku.
- Wcześniej rysowanie linii z wieloma punktami przypadającymi na jeden piksel mogło spowodować sporadyczne zgubienie punktu.
- Na widoku czasu dane falowe rysowane jako linie z wieloma punktami na piksel mogły być czasami węższe o jeden piksel w porównaniu z prawidłowymi wymiarami.
- Jeśli w używane jest polecenie Open menu File do otwarcia pliku, który już jest otwarty w programie Spike2 nie pojawia się komunikat ’Could not open file’.
- Odtwarzanie sygnału falowego w trybie off-line i dowolny sygnał wyjściowy w trybie on-line obsługują obecnie odpowiednio pliki danych, w których podstawa czasowa nie jest mikrosekundą.
- Jeśli kursor został przeciągnięty nad obszarem ekranu, który był aktualizowany, to czasami kursor nie był właściwie rysowany.
- Urządzenie 1401plus z szybkim przetwornikiem analogowo-cyfrowym próbkuje maksymalnie osiem kanałów danych typu WaveMark, jednak dopasowanie szablonu w trybie on-line działało tylko dla pierwszego kanału. Obecnie funkcja ta działa dla wszystkich kanałów WaveMark.
- Wcześniej możliwe było, że dialog wywołany przez skrypt występował w miejscu poprzedniego dialogu, a nie miejscu określonym przez skrypt.
- Podczas próbkowania danych kształtu wartości szczytowej przy pomocy więcej niż jednego kanału wartości szczytowej nie można było odpowiednio ustawić poziomów aktywacji.
- Można było spowodować awarię programu Spike2 jeśli do zrzutu kanału pamięci w formacie tekstowym zostało użyte polecenie Export z menu File.
- Opracowano nową wersję sterownika urządzenia 1401, który rozwiązuje problem użytkowników urządzenia 1401plus z kartami interfejsów PCI i długimi kablami (ponad 2 metry) interfejsów i szybkimi komputerami. Dostępna jest także nowa wersja firmware’u do karty PCI, która może być pomocna w rozwiązaniu tego problemu - prosimy o kontakt z CED w celu uzyskania dalszych informacji.
- Dialogi utworzone przez skrypt, które wykorzystują polecenie DlgInteger() do wprowadzenia wartości mniejszej od zera działają obecnie poprawnie.
- Funkcja MinMax() function nie powoduje awarii programu Spike2 kiedy argument mode% jest nieodpowiedni do danego typu kanału lub jeśli nie podano parametrów potrzebnych do tego trybu.
|