Любопытный на предмет различий в vtkMassProperties для VTK 5.04 и VTK 5.4.2

Столкнулся с той же проблемой после перехода на python 3. По-видимому, MySQL-python несовместим, поэтому согласно официальному django docs , установленному mysqlclient с помощью pip install mysqlclient на Mac. Обратите внимание, что в документации упоминаются некоторые проблемы, связанные с ОС.

Цитирование из документов :

Предварительные условия

Возможно, вам потребуется установить заголовки разработки Python и MySQL и такие библиотеки:

sudo apt-get install python-dev default-libmysqlclient-dev # Debian / Ubuntu

sudo yum install python-devel mysql-devel # Red Hat / CentOS

brew install mysql-connector-c # macOS (Homebrew) (в настоящее время ошибка. См. ниже)

В Windows есть двоичные диски, которые можно установить без MySQLConnector / C или MSVC.

Примечание по Python 3: если вы используете python3, вам нужно установить python3-dev с помощью следующей команды:

sudo apt-get install python3-dev # debian / Ubuntu

sudo yum install python3-devel # Red Hat / CentOS

Примечание об ошибке MySQL, Connector / C в macOS

См. Также: https: //bugs.mysql .com / bug.php? id = 86971

Версии MySQL Connector / C могут иметь неправильные параметры конфигурации по умолчанию, которые приводят к ошибкам компиляции при установке mysqlclient-python. (По состоянию на ноябрь 2017 года, это, как известно, справедливо для доморощенного mysql-connector-c и официального пакета)

Модификация mysql_config решает эти проблемы следующим образом.

Измените

# on macOS, on or about line 112:
# Create options
libs="-L$pkglibdir"
libs="$libs -l "

на

# Create options
libs="-L$pkglibdir"
libs="$libs -lmysqlclient -lssl -lcrypto"

Неправильная конфигурация ssl также может создавать проблемы; см., например, brew info openssl для получения подробной информации о macOS.

Установка из PyPI

pip install mysqlclient

ПРИМЕЧАНИЕ. Колеса для Windows могут не выпускаться с исходным пакетом. Вы должны закрепить версию в вашем requirements.txt, чтобы не пытаться установить новейший пакет с исходным кодом.

Установка из источника

  1. Загрузка источника по git clone или zipfile .
  2. Настройка site.cfg
  3. python setup.py install

5
задан Azim 23 October 2009 в 19:50
поделиться

1 ответ

Я никогда раньше не слышал о VTK , но вот оно.

В программах с открытым исходным кодом хорошо то, что вы можете напрямую проверить исходный код. Еще лучше, если есть веб-браузер с контролем версий, мы можем поговорить об этом в Интернете следующим образом.

Давайте посмотрим vtkMassProperties , о котором идет речь. 5.0.4 использует r1.28, а 5.4.2 использует r1.30. Вот разница между r1.28 и r.30 . Части, которые могут повлиять на вычисления объема, - это

vol[2] += (area * (double)u[2] * (double)zavg); // 5.0.4
vol[2] += (area * u[2] * zavg); // 5.4.2

и

kxyz[0] = (munc[0] + (wxyz/3.0) + ((wxy+wxz)/2.0)) /(double)(numCells); // 5.0.4
kxyz[0] = (munc[0] + (wxyz/3.0) + ((wxy+wxz)/2.0)) /numCells; // 5.4.2

, но все изменения мне кажутся удовлетворительными.

Следующими подозрительными являются vtkMarchingCubes . Разница между r1.1.6.1 и 1.5 .

self->UpdateProgress ((double) k / ((double) dims[2] - 1)); // 5.0.4
self->UpdateProgress (k / static_cast<double>(dims[2] - 1)); // 5.4.2

и

estimatedSize = (int) pow ((double) (dims[0] * dims[1] * dims[2]), .75); // 5.0.4
estimatedSize = static_cast<int>(
             pow(static_cast<double>(dims[0]*dims[1]*dims[2]),0.75)); // 5.4.2

Опять же, они исправляют кое-что при преобразовании, но это выглядит нормально.

Можно также посмотреть vtkImageThreshold ]слишком. Разница между r1,50 и r1,52 .

lowerThreshold = (IT) inData->GetScalarTypeMin(); // 5.0.4
lowerThreshold = static_cast<IT>(inData->GetScalarTypeMin()); // 5.4.2

Есть еще много других, но все они кастинговые.

Это становится более интересным с vtkTIFFReader . Разница между 1,51 и 1,63 . Как вы можете видеть по разнице номеров ревизий, в этом классе произошли некоторые изменения по сравнению с другими. Вот комментарии при проверке:

  • ENH: Добавьте имя для скаляров. Видно в Paraview.
  • ENH: vtkDataArray теперь имеет новый суперкласс-vtkAbstractArray ...
  • ENH: Установить количество выборок на пиксель по умолчанию для файлов, в которых отсутствуют эти метаданные.
  • ENH: Читать только то, что вы
  • ENH: добавлена ​​поддержка многостраничных файлов TIFF
  • ENH: print ivars
  • ОШИБКА: Программа чтения TIFF неправильно учла данные, закодированные с помощью RLE. Также ExecuteInformation Как вы можете видеть по разнице номеров ревизий, в этом классе произошли некоторые изменения по сравнению с другими. Вот комментарии при проверке:

    • ENH: Добавьте имя для скаляров. Видно в Paraview.
    • ENH: vtkDataArray теперь имеет новый суперкласс-vtkAbstractArray ...
    • ENH: Установить количество выборок на пиксель по умолчанию для файлов, в которых отсутствуют эти метаданные.
    • ENH: Читать только то, что вы
    • ENH: добавлена ​​поддержка многостраничных файлов TIFF
    • ENH: print ivars
    • ОШИБКА: Программа чтения TIFF неправильно учла данные, закодированные с помощью RLE. Также ExecuteInformation Как вы можете видеть по разнице номеров ревизий, в этом классе произошли некоторые изменения по сравнению с другими. Вот комментарии при проверке:

      • ENH: Добавьте имя для скаляров. Видно в Paraview.
      • ENH: vtkDataArray теперь имеет новый суперкласс-vtkAbstractArray ...
      • ENH: Установить количество выборок на пиксель по умолчанию для файлов, в которых отсутствуют эти метаданные.
      • ENH: Читать только то, что вы
      • ENH: добавлена ​​поддержка многостраничных файлов TIFF
      • ENH: print ivars
      • ОШИБКА: Программа чтения TIFF неправильно учла данные, закодированные с помощью RLE. Также ExecuteInformation Установите количество выборок на пиксель по умолчанию для файлов, в которых отсутствуют эти метаданные.
      • ENH: Только чтение того, что вам нужно.
      • ENH: добавление поддержки многостраничных файлов TIFF
      • ENH: печать ivars
      • ОШИБКА: TIFF Reader неправильно учел данные в кодировке RLE. Также ExecuteInformation Установите количество выборок на пиксель по умолчанию для файлов, в которых отсутствуют эти метаданные.
      • ENH: Только чтение того, что вам нужно.
      • ENH: добавление поддержки многостраничных файлов TIFF
      • ENH: печать ivars
      • ОШИБКА: TIFF Reader неправильно учел данные в кодировке RLE. Также ExecuteInformation перезаписал заданный пользователем интервал и источник.
      • ОШИБКА: при чтении beach.tif (из текущих данных CVS VTKData) изображение загружалось вверх ногами.
      • STYLE: s / OrientationTypeSpecifiedFlag / OriginSpecifiedFlag / g и s / OrientationTypeSpecifiedFlag / SpacingSpecifiedFlag / SpacingSpecifiedFlag / g
      • ОШИБКА: Программа чтения не обрабатывала экстенты должным образом.
      • COMP: Исправление предупреждения.
      • COMP: Избавление от предупреждения.

      По количеству изменений, внесенных в vtkTIFFReader, я могу предположить, что разница в поведении исходит именно оттуда. Например, он мог начать распознавать ваш Tiff как другой формат и изменил внутренние значения пикселей. Попробуйте распечатать значения пикселей и посмотрите, есть ли разница. Если значения пикселей изменились, maxthres = 81 может быть слишком большим.

5
ответ дан 14 December 2019 в 19:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: