2012-06-28 2 views
0

앞으로 및 역 Gabor 변환 (Wikipedia link) 모두에 대해 고도로 최적화 된 C/C++ 라이브러리가 존재하는지 궁금합니다. 이것은 일반적으로 이미지에 적용되는 Gabor 필터와 동일한 이 아니며입니다. 라이브러리는 폐쇄 형 또는 OSS/오픈 소스 형일 수 있지만 연구 응용 프로그램을 작성하고 있으므로 후자를 선호합니다.C/C++에서 전방 및 역 가버 변환 라이브러리

Seismic Inverse Q filtering (125 페이지 참조) 책에서 역 Q 필터링 알고리즘을 구현하고 있습니다. 저자는 Gabor 변환을 사용하는 것을 좋아합니다.

일부 동작은 주파수 영역 신호에서 계산되고 역 변환은 이산 시간 영역 신호를 계산하는 데 사용되기 때문에 순방향 및 역변환이 필요합니다.

답변

1

내 지식 Gabor transform (GT)을 계산할 특별한 라이브러리가 없습니다. 연속 웨이블릿 변환 (CWT)과 유사하게 GT는 시간 및 주파수 연속 함수로 정의되기 때문에 어느 정도 근사 될 수 있습니다.

그러나 표준 도구를 사용하여 GT를 알맞게 추정 할 수 있습니다. 일반적인 방법은 CWT와 마찬가지로 푸리에 공간에서 이러한 변환을 구현하는 것입니다. CWT 인 GT는 본질적으로 필터 뱅크입니다. GT의 경우 FFT를 계산하고 원하는 주파수 대역을 중심으로 한 가우시안 인 GT 커널의 푸리에 변환을 곱한 다음 각 대역에 대해 역 FFT를 계산합니다.

IIR 필터 뱅크에 기반한 GT의 또 다른 좋은 근사법은 this article에 설명되어 있습니다. 이 방법은 표준 도구 (MatLab, SciPy 등)로 구현할 수도 있습니다.

나는 과학적으로 어떤 응용을 목표로하고 있습니까? 일반적으로 CWT는 자연스러운 스케일링 동작을 존중하고보다 높은 대칭성을 가지기 때문에보다 나은 선택입니다. 특히 확장시 불변합니다.

+0

통찰력있는 답변에 감사드립니다. 위의 질문을 과학적 적용을 보여주기 위해 업데이트했습니다. 역 Gabor 변환을위한 알고리즘이 있습니까? 내가 제안한 멋진 논문을 다운로드했는데 CWT가 좋은 선택이라는 데 동의합니다. –

+0

또한 CWT 용 C++/Java 라이브러리도 있습니다. http://sourceforge.net/projects/cwtlib/. 역변환이있는 경우 소스 코드에서 알 수 없습니다. 나는이 라이브러리가 역변환을위한 코드를 가지고 있다고 생각하지 않는다. –

+0

예,이 라이브러리가 역 (대부분의 libs는 지원하지 않음)을 제공하는 것 같지 않습니다. 그러나 GT의 경우 역수는 모든 주파수 대역에서의 합계입니다. CWT의 경우 주파수 대역을 대수적으로 스케일링하는 경우에도 마찬가지입니다 (적절하게 정상화 할 필요가없는 경우). –