eidelen / DicomToMesh

A command line tool to transform a DICOM volume into a 3d surface mesh (obj, stl or ply). Several mesh processing routines can be enabled, such as mesh reduction, smoothing or cleaning. Works on Linux, OSX and Windows.
MIT License
451 stars 93 forks source link

Error on Visual Studio 2019 - Wextra #32

Closed cogitas3d closed 8 months ago

cogitas3d commented 3 years ago

Hey there!

I make some tests in DicomToMesh on different OS. All OK on Linux and Mac OS X, but in Windows the result is not good, twice as slow.

I wrote about it here: http://ortogonline.com/doc/pt_br/OrtogOnLineMag/2/Slicer.html

And here: http://ortogonline.com/doc/pt_br/OrtogOnLineMag/3/VTK_ITK_multi.html

To solve it I tryied to build DicomToMesh again, years after the last compilation. All right with Cmake, but when I run on Visual Studio I have the Wextra error:

Build iniciado... 1>------ Compilação iniciada: Projeto: ZERO_CHECK, Configuração: Release x64 ------ 1>Checking Build System 1>CMake is re-running because C:/Users/cogit/Downloads/DicomToMesh-vtk-9-novisual/build/CMakeFiles/generate.stamp is out-of-date. 1> the file 'C:/Users/cogit/Downloads/DicomToMesh-vtk-9-novisual/CMakeLists.txt' 1> is newer than 'C:/Users/cogit/Downloads/DicomToMesh-vtk-9-novisual/build/CMakeFiles/generate.stamp.depend' 1> result='-1' 1>-- Selecting Windows SDK version 10.0.19041.0 to target Windows 10.0.19042. 1>-- Configuring done 1>-- Generating done 1>-- Build files have been written to: C:/Users/cogit/Downloads/DicomToMesh-vtk-9-novisual/build 2>------ Compilação iniciada: Projeto: dicom2meshlib, Configuração: Release x64 ------ 2>Building Custom Rule C:/Users/cogit/Downloads/DicomToMesh-vtk-9-novisual/lib/CMakeLists.txt 2>cl : linha de comando error D8021: argumento numérico inválido '/Wextra' 2>Projeto de compilação pronto "dicom2meshlib.vcxproj" -- FALHA. 3>------ Compilação iniciada: Projeto: dicom2mesh, Configuração: Release x64 ------ 3>cl : linha de comando error D8021: argumento numérico inválido '/Wextra' 3>Projeto de compilação pronto "dicom2mesh.vcxproj" -- FALHA. 4>------ Compilação ignorada: Projeto: ALL_BUILD, Configuração: Release x64 ------ 4>Não há projeto selecionado para compilar nesta configuração de solução ========== Compilar: 1 com êxito, 2 com falha, 0 atualizados, 1 ignorados ==========

Do you know a way to solve it?

A big hug!

eidelen commented 3 years ago

Hi Cicero, Your are not the first one with this issue. It seems to be a new problem on Windows. I have to come up with a solution. In the meantime, just delete those two lines in from your cmake files:

target_compile_options( dicom2meshlib PRIVATE -Wall -pedantic -Wextra -Wno-extra-semi )
target_compile_options( dicom2mesh PRIVATE -Wall -pedantic -Wextra -Wno-extra-semi )

Then redo the cmake configuration and it should work. Sorry for the hassle. Adrian

cogitas3d commented 3 years ago

Hi @eidelen

Thank you, I use and run. But I have some problems, Ill share here.

Only to documentate porpouse, the two files are:

DicomToMesh-vtk-9-novisual\dicom2mesh\CMakeLists DicomToMesh-vtk-9-novisual\lib\CMakeLists

About the problems, the time with old version is 103 second, and the same CT-Scan with new version is 148 seconds!

More than this, the reconstruction present some mesh erros:

2021-04-26

Look at knee, that triangulated mesh is not present on CT-Scan.

Do you think I made some mistake?

A big hug!

eidelen commented 3 years ago

All this processing is done in VTK. If you have the same VTK version: