Gradiente da Variação Total da Magnitude da Função Complexa para Denoising


7

Digamos que tenho uma função complexa f (por exemplo, uma imagem de ressonância magnética) que possui uma magnitude constante quase por peça, mas uma fase não constante.

Se eu tiver um problema de otimização para encontrar f e configure uma função objetiva com um termo total de variação (por exemplo, para denoising ou sensor comprimido), geralmente tem a seguinte forma:

obj1(f)=+TV(f)

No entanto, desde que eu assumo que f tem uma magnitude constante em partes, acho que seria melhor usar:

obj2(f)=+TV(|f|)

No entanto, para um solucionador baseado em gradiente, seria necessário conhecer o gradiente de obj2. O gradiente paraobj1(f) é: TV(TV(f)). Qual é o gradiente deobj2(f)?

Atualizar:

Intuitivamente, eu assumiria algo como o seguinte (uma vez que a fase não tem influência sobre obj2, deixe a fase "intocada"):

TV(TV(|f|))eiarg(f)

No entanto, meu conhecimento em análises complexas é muito limitado e não tenho certeza se isso faz sentido.


Eu acho que tudo isso se resume à derivada complexa da função magnitude, que não está definida. Existe alguma solução alternativa?
Stiefel

Isso está fora da minha zona de conforto, mas se f tem magnitude constante, não |f|ser constante e, portanto, sua variação total ser zero?
Jason R

Desculpe, eu corrigi a pergunta. Supõe-se que o f * ideal tenha uma magnitude "constante em partes". Os algoritmos de denoising geralmente são iterativos, e o intermediário f ainda não é constante em partes - precisamos do gradiente para tornar iterativamente constante em partes.
Stiefel

Para tal especializada pergunta análise complexa, que você pode ter melhor sucesso postando sobre a math.SE .
Jason R

@ Stiefel Isso pode não se aplicar à sua situação, mas você já pensou em mudar a RM para o domínio espacial e aplicar a minimização da Variação Total lá? Você poderia falar um pouco mais sobre o contexto em que você está usando a minimização de TV para ressonância magnética?
Eric

Respostas:


4

O problema com |f|é que, como não é analítico, a definição padrão de derivada complexa não se aplica. Uma solução é usar os derivados Wirtinger:

http://en.wikipedia.org/wiki/Wirtinger_derivatives

Uma descrição detalhada do cálculo de Wirtinger para problemas de processamento de sinal é

http://arxiv.org/abs/0906.4835

Outra opção (provavelmente mais simples) é tratar a imagem complexa como uma imagem de dois canais (real, imag) e usar a definição de derivada para campos vetoriais. Este artigo tem uma explicação muito clara de como fazer isso:

Lee, H.-C .; Cok, DR; "Detectando limites em um campo vetorial" (IEEE Transactions on Signal Processing, vol.39, no.5, pp.1181-1194, maio de 1991)

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.