Как реализовать панорамирование / масштабирование на гигапиксельных растровых изображениях?

В моем проекте я использую (несжатые 16-битные оттенки серого) гигапиксельные изображения, которые поступают со сканера высокого разрешения для целей измерения. Поскольку эти растровые изображения не могут быть загружены в память (в основном из-за фрагментации памяти), я использую плитки (и мозаичный TIFF на диске). (увидетьТема StackOverflow по этому вопросу)

Мне нужно реализовать панорамирование / масштабирование таким образом, как Google Maps или DeepZoom. Я должен применить обработку изображения на лету, прежде чем представить его на экране, поэтому я не могу использовать предварительно приготовленную библиотеку, которая напрямую обращается к файлу изображения. Для увеличения я намереваюсь сохранить изображение с мульти-разрешением в моем файле (хранилище пирамид). Самые полезные шаги кажутся + 200%, 50% и показывают все.

Моя база кода в настоящее время C # и .NET 3.5. В настоящее время я предполагаю тип Forms, если WPF не дает мне большого преимущества в этой области. У меня есть метод, который может вернуть любую (обработанную) часть базового изображения.

Конкретные вопросы:

советы или ссылки о том, как реализовать это масштабирование с созданием частей изображения по требованиюлюбой код, который может быть использован в качестве основы (предпочтительно коммерческие или LGPL / BSD-подобные лицензии)можно ли использовать для этого DeepZoom (то есть, есть ли способ, которым я могу предоставить функцию для предоставления плитки с правильным разрешением для текущего уровня масштабирования?) (мне нужно, чтобы адресация с точностью до пикселя все еще была)

Ответы на вопрос(3)

Ваш ответ на вопрос