Próbuję użyć interfejsu MATLAB ImageJ(Miji), aby uruchomić blok poleceń, ale mam trudności z przekazaniem zmiennych do opcji makropolecenia. Próbuję załadować stos .tif obrazów i podzielić je na mniejsze stosy za pomocą polecenia duplikatu programu ImageJ.
Ze strony ImageJ dla budowniczego makr stwierdza:;
przekazuj zmienne do komend wywoływanych za pomocą metody run (), dodając "i" nazwy zmiennych.
Na przykład
values = 1-5
run("Duplicate...","duplicate range=&values")
Powinno to powielić stos obrazów w zakresie określonym przez wartości. Jednak przy tłumaczeniu tego na wtyczkę MATLABs MIJI w następujący sposób;
MIJ.run("Duplicate...","duplicate range=&values")
To nie działa i tylko powiela cały stos obrazu. Łamanie łańcucha "" powoduje zgłoszenie nieoczekiwanego błędu operatora MATLAB.
Podjęto próbę zapisania wartości zakresu jako tekstu ciągu, jak również w macierzy.
Odpowiedzi:
0 dla odpowiedzi № 1Spróbuj połączyć ciągi za pomocą jednego z nich Obsługiwane przez MATLAB techniki łączenia ciągów. Być może najłatwiej jest użyć nawiasów kwadratowych, takich jak:
MIJ.run("Duplicate...", ["duplicate range=" values])
0 dla odpowiedzi nr 2
Udało mi się to zrobić za pomocą sprintf
values = 1-5;
MIJ.run("Duplicate...",sprintf("duplicate range=%d",values));