Существует метод insertAdjacentHTML
, но он не работает в более старых версиях FF:
document.body.insertAdjacentHTML('afterbegin', '
');
Лично я специалист по C ++ и Python, и я, вероятно, выбрал бы C ++, потому что это звучит как относительно интенсивный проект, и я делаю большую часть своих лучших проектов высокого уровня на C ++. (отлично подходит для создания быстрой и гибкой базы кода), хотя я предпочитаю использовать python для таких вещей, как django, где меньше логики приложения, но очень важна возможность быстрой настройки функции, внешнего вида и ощущений. Однако мой выбор не означает, что это должен быть ваш выбор. Вот несколько вещей, которые следует учитывать:
Прежде всего 1) Знакомство. Если вы пишете производственный код, вы хотите использовать что-то, что вы знаете и хорошо работает для вас, или вы будете бороться с языком и пропускать сроки. И даже когда вы завершите проект, у вас обязательно останется много беспорядочного кода для вещей, которые вы изучали. Я' m все для изучения новых языков, но сделайте это на том, с чем вы можете позволить себе облажаться.
2) Сторонние библиотеки; какие из них вы хотите, кроме упомянутого? Если у них нет обертки, вы будете сами катать. То, что вы хотите написать для своего графического интерфейса, будет примером.
3) Развертывание: Я предполагаю, что это будет предполагаемый исполняемый файл Windows. C # и C ++ делают это легко, но вам нужно быть знакомым с py2exe, если вы планируете развертывать программу на Python без интерпретатора Python
Я предполагаю, что это будет предполагаемый исполняемый файл Windows. C # и C ++ делают это легко, но вам нужно быть знакомым с py2exe, если вы планируете развертывать программу на Python без интерпретатора Python Я предполагаю, что это будет предполагаемый исполняемый файл Windows. C # и C ++ делают это легко, но вам нужно быть знакомым с py2exe, если вы планируете развертывать программу на Python без интерпретатора PythonЕсли вам удастся обойтись без python - другими словами, если вы знаете, что он будет нормально работать на python, я определенно выбрал бы его, а не C # / C ++.
Я уверен, что в 3D Библиотека, которую вы используете, в любом случае построена на C или C ++, поэтому взаимодействие с ней с языком высокого уровня, таким как python, не должно вызывать замедления.
Большинство медицинских 3D-изображений обычно очень большие (размер ГБ). Вы хотите выбрать язык, который легко справится с этим. Насколько мне известно, C # имеет ограничение памяти 2 ГБ (я не уверен на 100%), что может вызвать некоторые проблемы.
У меня нет опыта работы с Python, поэтому я не собираюсь идти дальше по этому пути. Но я работал с C # и C ++ над данными медицинских изображений (реконструкция, фильтрация, нормализация и другие тяжелые вычисления). В нашем случае C ++ - единственный выбор из-за скорости. Но когда дело доходит до просмотра изображений, это, вероятно, не проблема.
Желаю вам удачи. Было бы здорово иметь хорошую, стабильную и быструю программу для 3D-просмотра!
Некоторое время я работал в Sound Vet. Они предоставляют программное обеспечение для получения рентгеновских изображений для ветеринарии. Они используют C # и winforms.
Python становится популярным для трехмерной визуализации - например, несколько лабораторий используют его для изображений мозга. Так что это определенно пригодно для такого рода проблем. Что касается библиотеки, я полагаю, вы знаете, что такие вещи, как vtk и co, можно использовать из Python.
http://neuroimaging.scipy.org/site/doc/manual/html/faq/why.html
Конечно, выполнение этого на C ++, теоретически , приведет к более быстрым программам при прочих равных условиях (те же алгоритмы, программисты, владеющие языком и т. Д.) И предоставит «бесконечное время». Но python, безусловно, более продуктивен, чем C ++: за заданный промежуток времени вы сделаете больше вещей на python, чем на C ++, если только вы не станете гораздо лучшим программистом на C ++, чем на python. Также, если есть необходимость пообщаться с учеными, которые не являются программистами, Python будет более читабельным, чем C ++. C ++, созданный исследователями / учеными, на мой взгляд, действительно ужасен (даже хуже, чем Fortran :)).
Самая большая проблема, которую я могу предвидеть, заключается в том, что python недостаточно быстр / эффективен с точки зрения памяти, поэтому он требует много ограничений с архитектурной точки зрения. Я не думаю, что это будет в случае с изображениями (Python, как и большинство языков высокого уровня, имеет проблемы с масштабируемостью, когда вам нужно десять из тысяч объектов с большим количеством взаимодействий - это одна из немногих областей, где использование C ++ для проекта начать с нуля, ИМХО, в наши дни все еще имеет смысл).
Отказ от ответственности: я должен упомянуть, что я довольно много участвую в научном сообществе питонов, и что я не специалист по обработке изображений.
C ++, созданный исследователями / учеными, на мой взгляд, действительно ужасен (даже хуже, чем Fortran :)).Самая большая проблема, которую я могу предвидеть, заключается в том, что python недостаточно быстр / эффективен с точки зрения памяти, поэтому он требует много ограничений с архитектурной точки зрения. Я не думаю, что это будет в случае с изображениями (Python, как и большинство языков высокого уровня, имеет проблемы с масштабируемостью, когда вам нужно десять из тысяч объектов с большим количеством взаимодействий - это одна из немногих областей, где использование C ++ для проекта начать с нуля, ИМХО, в наши дни все еще имеет смысл).
Отказ от ответственности: я должен упомянуть, что я довольно много участвую в научном сообществе питонов, и что я не специалист по обработке изображений.
C ++, созданный исследователями / учеными, на мой взгляд, действительно ужасен (даже хуже, чем Fortran :)).Самая большая проблема, которую я могу предвидеть, заключается в том, что python недостаточно быстр / эффективен с точки зрения памяти, поэтому он требует много ограничений с архитектурной точки зрения. Я не думаю, что это будет в случае с изображениями (Python, как и большинство языков высокого уровня, имеет проблемы с масштабируемостью, когда вам нужно десять из тысяч объектов с большим количеством взаимодействий - это одна из немногих областей, где использование C ++ для проекта начать с нуля, ИМХО, в наши дни все еще имеет смысл).
Отказ от ответственности: я должен упомянуть, что я довольно много участвую в научном сообществе питонов, и что я не специалист по обработке изображений.
Самая большая проблема, которую я могу предвидеть, заключается в том, что python недостаточно быстр / недостаточно эффективен с точки зрения памяти, поэтому он связан с множеством ограничений с архитектурной точки зрения. Я не думаю, что это будет в случае с изображениями (Python, как и большинство языков высокого уровня, имеет проблемы с масштабируемостью, когда вам нужно десять из тысяч объектов с большим количеством взаимодействий - это одна из немногих областей, где использование C ++ для проекта начать с нуля, ИМХО, в наши дни все еще имеет смысл).
Отказ от ответственности: я должен упомянуть, что я довольно много участвую в научном сообществе питонов, и что я не специалист по обработке изображений.
Самая большая проблема, которую я могу предвидеть, заключается в том, что python недостаточно быстр / недостаточно эффективен с точки зрения памяти, поэтому он связан с множеством ограничений с архитектурной точки зрения. Я не думаю, что это будет в случае с изображениями (Python, как и большинство языков высокого уровня, имеет проблемы с масштабируемостью, когда вам нужно десять из тысяч объектов с большим количеством взаимодействий - это одна из немногих областей, где использование C ++ для проекта начать с нуля, ИМХО, в наши дни все еще имеет смысл).
Отказ от ответственности: я должен упомянуть, что я довольно много участвую в научном сообществе питонов, и что я не специалист по обработке изображений.
Я согласен с Тоддом Гарднером в том, что знакомство, вероятно, является самым большим фактором, определяющим успех выбора языка программирования. Так что, если вы гораздо лучше знакомы с одним из этих трех языков, чем с двумя другими (или любыми другими вариантами), я бы порекомендовал выбрать этот.
Однако, если вы одинаково не знакомы со всеми из них, тогда я будет второй рекомендацией Cloudhead о Python. Я считаю, что это самый простой из трех предметов для изучения и повышения продуктивности.
Большинство профессиональных компаний, занимающихся медицинской визуализацией, используют библиотеки Accusoft Pegasus PICTools. Они обеспечивают самое быстрое и стандартное сжатие и распаковку для всех форматов DICOM с потерями и без потерь, таких как JPEG 2000, JPEG без потерь, JPEG-LS и других.
ЕСЛИ требуется скорость, сравнивать нечего.
Если вы развертываете в Windows, ImageGear .NET или ImageGear Pro предоставит вам простые в использовании среды с полной поддержкой файлов DICOM dcm.
Вы также можете использовать ImagXpress для разработки под Windows.
ITK - это пчелиные колени в области обработки медицинских изображений, и это на C ++. так что я бы рекомендовал C ++ с ITK.