# Last edited on 2021-07-14 23:12:27 by jstolfi >> [Victor:] Realmente não é adequado somente remover a >> coordenada Z, e uma projeção em uma superfícia curva >> (talvez esférica) possa ser uma saída razoável. A projeção que o Eduardo está usando é uma projeção na esfera seguida de uma projeção "polar" em que a coordenada radial é a latitude a partir do "pólo norte". Essa projeção distorce as distâncias na direção angular, por um fator que chega a \pi/2= 1.57 quando o ponto está na parte vertical do escalpo (inclinação 90 graus). Porém, Acredito que a projeção usada não é crítica, desde que preserve grosseiramente as distâncias (que não seria o caso se simplesmente ignorássemos o Z). >> [Renan:] Cada imagem de ressonância magnética terá um >> valor [para o X do centro do escalpo]. Isso depende do >> protocolo de aquisição e pode variar; por exemplo, devido >> à geometria da cabeça do paciente. >> [Victor:] Todas imagens de ressonância e os pontos do >> navegador podem ser transformados para um espaço comum >> chamado espaço mundo (ou scanner). Neste espaço a origem >> do centro de coordenadas é colocada no centro da cabeça >> de todos sujeitos, resultando em 0,0,0 para X, Y, Z. >> Tenho scripts pra fazer essa transformação se necessária. O Eduardo pode estar interessado nesses scripts. Mas por enquanto ele está usando apenas o arquivo de dados de MEP, não as imagens. Portanto seria bom se as coordenadas nesses arquivos estivessem já nesse "sistema mundo". >> [Renan:] Para o sujeito 04 o valor de X (eixo sagital) é de 85 mm. OK, então nosso chute (80 mm) estava bom o bastante. >> [Renan:] A melhor orientação da bobina é posicioná-la a >> 45° em relação a linha media. [...] Durante o >> procedimento manual de estimulação realmente podem >> ocorrer alguns problemas de posicionamento, desde >> movimentos involuntários do paciente até fadiga do >> operador no posicionamento (protocolos são longos e a >> bobina é relativamente pesada). Por mais que temos o >> sistema de navegação para nos guiar, alguns estímulos >> podem realmente ter sofrido os problemas que apresentou >> (variação da intensidade do estímulo, por exemplo devida >> a variação na orientação da bobina e na distância ao >> escalpo). >> [Victor:] A orientação mais adequada é em geral >> perpendicular ao sulco cortical sob o ponto de >> estimulação, para um ponto específico (hot-spot) fica >> aproximadamente 45 graus da linha sagital média, mas pode >> ser bem diferente para cada ponto do mapa, depende da >> anatomia. A orientação é uma variável que sempre >> procuramos ajustar para obter máxima amplitude de MEP. >> Nestes dados, tentamos mantes uma orientação fixa para >> todos os pontos similar ao do hotspot. OK. Mas então duas medidas em pontos muito próximos podem ter sido feitas com a bobina em orientações diferentes. Correto? >> [Renan:] [0.03mm é] a precisão apenas do robô. Sempre tentamos >> posicionar o centro da bobina enconstado no escalpo. >> [Victor:] Nós usamos uma câmera que cuja precisão não é >> muito boa, e as coordenadas têm bastante flutuação. [...] >> A distância bobina-cortex tem um altíssimo efeito na >> amplitude da resposta. [...] Penso que variações de 1.5 >> mm, podem reduzir a amplitude do MEP em cerca de 10%. OK. >> [Renan:] [Há] variações naturais da intensidade de >> resposta para mesmo estímulo, na mesma posição e >> orientação. >> [Victor:] [Outra causa possível é] flutuação inerente dos >> MEPs. Eles são uma medida que naturalmente flutua >> bastante, então mesmo para o melhor modelo, ainda haverá >> possivelmente altos resíduos. OK. Segue um "relatório 2". ------------------------------------------------------------ Modelagem matemática do problema -------------------------------- Pelo que entendi, o problema pode ser formulado como encontrar o máximo de uma função F(x,y,A,D) (a intensidade do MEP para um estímulo de intensidade padrão) onde (x,y) são as coordenadas do ponto do escalpo na projeção 2D (Xc e Yc no relatório anterior); A é a orentação da bobina (um ângulo relativo a alguma direção de referência); e D é a distância do escalpo à bobina. Pelo que entendi, a função pode ser parcialmente separada em F(x,y,A,D) = FP(x,y)*FA(x,y,A)*FD(x,y,D), onde FP(x,y) é a resposta máxima que pode ser obtida no ponto (x,c), com a bobina encostada no escalpo e na orientação ótima; FA(x,y,A) é o fator de atenuação devido à orientação da bobina. Vale 1 quando A é uma orientação ótima para o ponto {x,y), e menos que 1 para outras orientações. FD(x,y,D) é o fator de atenuação devido à distância entre bobina e escalpo. Vale 1 quando D = 0 (bobina encostada no escalpo), diminui com D crescente, de maneira que em princípio depende da posição. Além disso as medidas F[i] da F tem um erro inerente devido à variação natural do MEP e de outras fontes de erro de medida. Considerações para a versão "offline" do problema ------------------------------------------------- Na versão "offline" do problema, que o Eduardo está considerando agora, queremos encontrar o máximo a partir de um conjunto fixo e finito de medidas (x[i], y[i], F[i], D[i]) da funçaõ F e da distância D. Nesses dados, as distâncias D[i] variavam meio aleatóriamente entre 0 e uns 3 mm. Pelo chute do Victor, o fator distância FD(x,y,D) poderia ser 0.9 para D = 1.5 mm. Pelas suas respostas, acima, a orientação A, e portanto o fator FA(x,y,A), também parecem ter variado de maneira inconsistente. Porém, como esses fatores são desconhecidos, só podemos supor que eles são parte do "ruído" (erro de medida) da F. E pelo visto esse erros são da ordemde 10-20% do valor do MEP. Para testar os algoritmos de otimização, que escolhem os pontos de amostragem à medida que executam, precisamos ajustar a esses dados uma função FQ(x,y) contínua e suave. Como relatado antes, estamos usando um polinômio de grau 6 em x e y, ajustado por mínimos quadrados. Felizmente, para os testes dos algoritmos não é necessário que essa função seja "correta"; basta que ela tenha uma forma "típica". Essa aproximação que mostramos parece ser mais que adequada. Considerações para a versão "online" do problema ------------------------------------------------ Na versão "online", cada medição será feita num ponto de amostragem (x[i],y[i]) escolhido pelo algoritmo de otimização, com base nas medições anteriores. Idealmente o posicionamento da bobina será feito pelo braço do robô, de maneira completamente automática. Em uma solução intermediária, como discutimos, a bobina poderia ser posicionada manualmente, mas com "feedback" exibido pelo sistema em tempo real, e possívelmente com restrições de movimento impostas pelo braço do robô. ("Haptic interface" é um nome para esse tipo de técnica.) Nessa versão, o objetivo seria maximizar o fator "intrínseco" FP(x,y) da resposta F(x,y,A,D). Para isso será necessário eliminar de alguma forma os efeitos dos fatores espúrios FA(x,y,A) e FD(x,y,D). O fator distância FD pode ser eliminado garantindo-se que a bobina sempre estará em contato com o escalpo no ponto (x[i],y[i]) e paralela ao plano tangente nesse ponto. Mesmo que o paciente mova a cabeça, se for mantido o contato e o paralelismo o fator FD(x,y,D) será 1 (por definição). O fator orientação FA(x,y,A) poderia ser eliminado da mesma form se a bobina fosse sempre posicionada com a rotação ótima A0(x[i],y[i]). Porém, pelo que entendi até agora, essa direção ótima varia bastante com a posição (x,y). Pelo que entendi, o fator orientação FA(x,y,A) pode ser modelado por FAmin + (1-FAmin)|cos(A - A0(x,y))| onde A0(x,y) é o ãngulo de orientação ótimo para o ponto (x,y), e FAmin é a resposta relativa observada com a orientação péssima (a 90 graus da ótima). Faz sentido? Se isso for verdade, creio que será necessário fazer pelo menos três medições F[i,j] do MEP em cada ponto de amostragem (x[i],y[i]), com a bobina em 3 ângulos A[i,j] distintos. Digamos, A[i,0] seria o melhor chute a priori para A0(x[i],y[i]), e A[i,1],A[i,2] seriam duas orientações a 45 graus desse chute, em cada lado. Supondo o modelo acima para a função FA(x,y,A), com essas três medidas deveria ser possível identificar não só a direção ótima local A0(x[i],y[i]), mas também calcular e eliminar o fator FA(x[i],y[i],A[i,j]) de cada medida F[i,j]. Feita esta correção, os três valores de F[i,j] seriam três medidas de FP(x[i],y[i]). De lambuja, a média dos três valores seria uma medida um pouco mais acurada de FP(x[i],y[i]) As medições F[i] ainda estariam contaminadas com erros de várias fontes. Acredito que, com ajuste cuidadoso dos parâmetros, os algoritmos de otimização consegurão convergir para o ponto de máximo da FP(x,y) apesar desses erros. No pior caso, será necessário fazer mais iterações dos métodos e/ou fazer mais medições a cada iteração. Fas sentido? ------------------------------------------------------------