Strona 1 z 1
Element odwrotny do Index Array
: 11 lut 2011 02:07
autor: cloaw
Dane i tablice ciąg dalszy
.
Do tej pory wprowadzałem obrazek, wyrzucało mi dane z obrazka do tabeli o konkretnym pikselku. Teraz chciałbym odwrotnie. To znaczy:
- Color -> color to RGB ->Bundle ->
element odwrotny do "index array" (informujący, że dla konkretnego elementu w tablicy ma wprowadzić to co idzie z Bundle)
Jest coś takiego? Może za bardzo coś utrudniam?
Dzięki za pomoc.
Element odwrotny do Index Array
: 11 lut 2011 07:23
autor: spec.kolombo
A "insert into array" nie działa?
Element odwrotny do Index Array
: 11 lut 2011 10:15
autor: cloaw
No właśnie nie do końca. W Index Array mam ustawione tak, że jden index to adres wiersz, drugi indeks adres kolumny. W insert into array jest inaczej. Można to jakoś zmienić? Nie jestem obeznany z Labview.
Element odwrotny do Index Array
: 11 lut 2011 11:13
autor: spec.kolombo
Jak podepniesz tablicę 2 wymiarową, to będziesz miał też 2 indeksy.
Element odwrotny do Index Array
: 11 lut 2011 11:31
autor: cloaw
To czemu teraz nie działa?
Pisane w 8.5.
Re: Element odwrotny do Index Array
: 11 lut 2011 11:56
autor: smiga
Z RGB budujesz klaster. Potrzebujesz więc dwuwymiarowej tablicy klastrów podłączonej na wejście Insert Into Array. Element który wstawiasz do takiej tablicy to właśnie klaster.
Re: Element odwrotny do Index Array
: 11 lut 2011 12:14
autor: PiDi
Jest jeszcze jeden problem, poza typem tablicy. Nie możesz za pomocą insert wstawić do tablicy dwuwymiarowej jednego elementu, tylko całą kolumnę/wiersz. Prostym rozwiązaniem jest In-Place Structure.
Element odwrotny do Index Array
: 11 lut 2011 12:26
autor: spec.kolombo
hmm, faktycznie do "insert into array" pozwala na zdefiniowanie tylko wiersza lub kolumny i da się wtedy tylko wrzucić tablicę 1 wymiarową.
Rozwiązania są takie:
1. Jeśli znasz jaki będzie docelowy rozmiar tablicy którą tworzysz, to zainicjalizuj ją za pomocą np. "Initialize array" albo dwóch pętli for i następnie modyfikuj zawartość za pomocą "Replace array subset"
2. Twórz od razu całe wiersze (lub kolumny) pikseli i wrzucaj za pomocą "insert into array" podpinając tylko nr wiersza (lub kolumny)
Re: Element odwrotny do Index Array
: 11 lut 2011 13:09
autor: oczekp
Albo możesz skorzystać z build array.
W załączniku przesyłam fajny przykładzik (znaleziony gdzieś na lavie) pokazujący porównanie szybkości wykonywania tych trzech operacji plus dołączyłem patent podrzucony przez kolegę PiDi'ego. Z tego co mi wyszło to wynika, że
najlepiej wychodzi metoda PiDi'ego initialize array z in plac, następnie zwykłe initialize array, ale w tych przypadkach musisz znać rozmiar tablicy, na starcie. Trzecie miejsce ma build array, a na końcu insert into array, które to wypada strasznie blado na tle pozostałych metod.
Jako, że ostatnio bawiłem się właśnie na obrazie, w szczególności operacji na pikselach (2wymiarowych tablicach o sporych rozmiarach), których rozmiarów nie znałem, gdyż się zmieniały, metoda build array dała mega różnicę niż wcześniej wykorzystywana insert into array. Co więcej polecam, jak ktoś ma więcej niż jeden rdzeń (nie wiem od której wersji LV to działa), użycie Configure Iteration Parellism, który przyspieszył kilkukrotnie moje obliczenia w pętli. By to uruchomić prawym na pętle FOR i opcja o tej nazwie.
Re: Element odwrotny do Index Array
: 12 lut 2011 13:50
autor: cloaw
W końcu zrobiłem to tak jak w załączniku. Chciałbym te tablice teraz zapisać do pliku. Array To Color Image nie działa. Nie mogę podpiąć dwuwymiarowej tablicy do tej ikony.
Trzeba zmienić wymiar tablicy?
Re: Element odwrotny do Index Array
: 12 lut 2011 15:07
autor: PiDi
Znów masz problem z typem danych. Polecam ctrl+H, najechanie na zły kabel i przeczytanie w czym leży problem, oraz zaglądanie do pomocy na temat bloczków. Jeśli chcesz używać wejścia U64 w ArrayToColor, musisz mieć jeszcze czwartego integera w swoim klastrze (parametr alpha). W załączniku podaję Ci jeszcze dwa inne rozwiązania. Wersja 2 to jest tylko dodanie jednego bloczka do twojego kodu. Wersja 1 wydaje mi się najlepszym rozwiązaniem, bo nie używam w niej żadnych klastrów - kod się wyraźnie upraszcza.
Re: Element odwrotny do Index Array
: 12 lut 2011 22:26
autor: cloaw
Wszystko zadziałało.
Dzięki! Za rady i cierpliwość.