From sean at rogue-research.com Mon Oct 2 11:56:14 2017 From: sean at rogue-research.com (Sean McBride) Date: Mon, 2 Oct 2017 11:56:14 -0400 Subject: [ITK-dev] [ITK] Patches for 4.12.2 release In-Reply-To: <1C12646C-C41C-4B67-9692-8FA6295E27AA@mail.nih.gov> References: <20170929153939.2106354230@mail.rogue-research.com> <1C12646C-C41C-4B67-9692-8FA6295E27AA@mail.nih.gov> Message-ID: <20171002155614.338261949@mail.rogue-research.com> On Fri, 29 Sep 2017 17:28:36 +0000, Lowekamp, Bradley (NIH/NLM/LHC) [C] said: >Could you explicitly include nigti1_io.h in you code? Brad, . Thanks. I had mistakenly assumed that the symbols were made private and the header was no longer installed. I see now that it's merely no longer #included implicitly. Sorry for the noise. Cheers, Sean From matt.mccormick at kitware.com Thu Oct 5 19:19:15 2017 From: matt.mccormick at kitware.com (Matt McCormick) Date: Thu, 5 Oct 2017 19:19:15 -0400 Subject: [ITK-dev] Proper ThirdParty (GDCM specifically) update procedure? In-Reply-To: References: <20170925174021.217863588@mail.rogue-research.com> Message-ID: Jon has created an UpdatingThirdParty.md doc: http://review.source.kitware.com/#/c/22670/ On Mon, Sep 25, 2017 at 4:32 PM, Matt McCormick wrote: > Hi Sean, > > Thanks for helping to update these third party libraries. > >> I'm going to try to update ITK's GDCM... are there docs for this procedure? > > Essentially, run the UpdateFromUpstream.sh script, but we should add > some instructions in comments at the top of that file to address your > questions. > > >> I know about the ITK/Modules/ThirdParty/GDCM/UpdateFromUpstream.sh script, but I'm wondering things like: >> - do I run it on the master branch, or should I first create a branch of my own? > > Yes, a local branch can be created first, like GDCMUpdate. > > >> - running the script creates a branch called 'upstream-gdcm'. After the script runs, there are conflicts. After I just resolve them manually, which branch do I commit to? > > After the merge conflicts are resolved, run > > git add file/with/conflict > git commit > git gerrit-push > > > Thanks, > Matt From nasil122002 at yahoo.de Sun Oct 8 14:53:20 2017 From: nasil122002 at yahoo.de (Yusuf OEZBEK) Date: Sun, 8 Oct 2017 18:53:20 +0000 (UTC) Subject: [ITK-dev] itk::Fem::Solver update problem References: <1535649976.6328478.1507488800156.ref@mail.yahoo.com> Message-ID: <1535649976.6328478.1507488800156@mail.yahoo.com> Dear ITK Users, According the mail?https://public.kitware.com/pipermail/insight-users/2007-November/024272.html?, I have converted my vtkUnstructuredGrid, wich I extracted from a vtkPolyData and contains TRIANGLE_CELL's to the itkMesh and than from itkMesh to itk::Fem::Object to deform my mesh:My problem is: If I call "m_FemSolver->Update();" ,I get a segmentation fault, which I really not understand.? Program received signal SIGSEGV, Segmentation fault. 0x00007fffb1086dd5 in itk::fem::FEMObject<2u>::DeepCopy (this=0x4cc5ee0,? ??? Copy=0x4cc1780) ??? at /home/toolkits/itk-4.7.2/Modules/Numerics/FEM/include/itkFEMObject.hxx:157 157??? ??? a->UnRegister(); void itkMeshToFemMesh::updateItkMeshSlot(itk::Mesh *itkMesh) { ? typedef itk::fem::FEMObject<3> FemObjectType; ? FemObjectType::Pointer m_FemObject= FemObjectType::New(); ? typedef itk::fem::Solver<3> SolverType; ? typedef SolverType::Pointer SolverPointerType; ? SolverPointerType m_FemSolver= SolverType::New(); ? // Define the Element Material properties ? typedef itk::fem::MaterialLinearElasticity MaterialType; ? MaterialType::Pointer material= MaterialType::New(); ? material->SetGlobalNumber(0); ? material->SetYoungsModulus(200E6); ? material->SetCrossSectionalArea(1.0); ? material->SetThickness(1.0); ? material->SetMomentOfInertia(1.0); ? material->SetPoissonsRatio(0.2); ? material->SetDensityHeatProduct(1.0); ? m_FemObject->AddNextMaterial(material); ? // Define the element type ? typedef itk::fem::Element2DC0LinearTriangularStrain TriangularElementType; ? TriangularElementType::Pointer triangularElement= TriangularElementType::New(); ? triangularElement->SetMaterial(material.GetPointer()); ? // Convert mesh points into nodes ? VectorType point(3); ? PointType*ptr; ? PointType pt; ? ptr= &pt; ? int numOfPoints= itkMesh->GetNumberOfPoints(); ? cout<<"itkMesh numOfPoints: "<GetNumberOfCells(); ? cout<<"itkMesh numberOfCells: "<GetCells(); ? CellIterator cells= cellIterator->Begin(); ? bool flag= true; ? for(int k=0; k< numberOfCells; k++) ? { ??? CellType *cellPtr= cells.Value(); ??? cout<<"Cell Value: "<< cells.Value() << " Cell Type= " << cellPtr->GetType()<GetType()) ??? { ????? case CellType::TRIANGLE_CELL: ????? { ??????? if(flag== true) // To make sure that the nodes are created just once ??????? { ??? ??? ? for(int j= 0; j< numOfPoints; j++) ??? ??? ? { ??? ??? ??? itkMesh->GetPoint(j, ptr); ??? ??? ??? typedef TriangularElementType::Node TriangularNodeType; ??? ??? ??? TriangularNodeType::Pointer triangularNode= TriangularNodeType::New(); ??? ??? ??? point[0]= -1.0; ??? ??? ??? point[1]= 2.0; ??? ??? ??? point[2]= 3.0; ??? ??? ??? triangularNode->SetCoordinates(point); ??? ??? ??? triangularNode->SetGlobalNumber(j); ??? ??? ??? m_FemObject->AddNextNode(triangularNode.GetPointer()); ??? ??? ? } ??? ??? ? flag= false; ??????? } ??????? PointIdIterator pointIt= cellPtr->PointIdsBegin(); ??????? int i= 0; ??????? while(pointIt!= cellPtr->PointIdsEnd()) ??????? { ??? ???? ? triangularElement->SetNode(i, m_FemObject->GetNode(*pointIt)); ??? ????? pointIt++; ??? ????? i++; ??? ??? } ??? ??? cells++; ??? ??? triangularElement->SetGlobalNumber(k); ??? ??? m_FemObject->AddNextElement(triangularElement.GetPointer()); ??? ??? break; ????? } ??? } ? } ? // Define some Load ? LoadNodePointerType loadNode =LoadNodeType::New(); ? loadNode->SetElement(triangularElement); ? loadNode->SetGlobalNumber(3); ? loadNode->SetNode(1); ? vnl_vector force(2); ? force[0]= 20.0; ? force[1]= -20.0;? force[2]= 10.0; ? loadNode->SetForce(force); ? m_FemObject->AddNextLoad(loadNode); ? //Solve for displacements. ? m_FemObject->FinalizeMesh(); ? m_FemSolver->SetInput(m_FemObject); ? m_FemSolver->Update();???? // SEGMENTATION FAULT ? cout<< "Fem Solver Output: "<< m_FemSolver->GetOutput()<GetInput()->GetNumberOfNodes(); ? for(int i= 0; i< numberOfNodes; i++) ? { ??? itk::fem::Element::Node::Pointer node= m_FemSolver->GetInput()->GetNode(i); ??? cout<<"Fem Node : "<< node->GetGlobalNumber()<GetDegreeOfFreedom(j))!= invalidId; j++) ??? { ????? cout <<"Solver GetSolution: "<< m_FemSolver->GetSolution(dof)< FemObjectSpatialObjectType; ? FemObjectSpatialObjectType::Pointer m_FemSpatialObject= FemObjectSpatialObjectType::New(); ? m_FemSpatialObject->SetFEMObject(m_FemSolver->GetOutput()); ? typedef itk::FEMSpatialObjectWriter<3>????? ??? ??? ??? ??? FemSpatialObjectWriterType; ? FemSpatialObjectWriterType::Pointer femSpatialWriter= FemSpatialObjectWriterType::New(); ? femSpatialWriter->SetInput(m_FemSpatialObject); ? femSpatialWriter->SetFileName("deformedMesh.meta"); ? femSpatialWriter->Update(); } Thank you for any help! -------------- next part -------------- An HTML attachment was scrubbed... URL: From DLRdave at aol.com Wed Oct 11 12:58:48 2017 From: DLRdave at aol.com (David Cole) Date: Wed, 11 Oct 2017 12:58:48 -0400 Subject: [ITK-dev] HDF5 library naming Message-ID: I see the difference in release and debug library names for the HDF5 libraries has already been discussed about a year ago: https://itk.org/pipermail/insight-developers/2016-October/024995.html However, the answer seems unsatisfactory to me. Why can't ITK install these libraries named according to its own convention for 3rd party libraries...? (i.e. -- why is "upstream did it that way and we just updated to that" acceptable as a response here?) I use a non-CMake build system consuming ITK libraries where it is much easier to deal with libraries named consistently (and using the same names for debug and release builds). Especially when you are dealing with static libraries only, there does not seem to be a good reason to allow this deviation to persist long term. Would a proposed patch correcting the naming (conforming to ITK version naming convention like other ITK 3rd party libs, and named the same in Release and Debug) be accepted? Thanks, David C. details: On Windows, BUILD_SHARED_LIBS=OFF, ... snippet of 'ls -la' in the Debug ITK 'lib' install directory: ... itkvcl-4.12.lib itkvnl-4.12.lib itkvnl_algo-4.12.lib itkzlib-4.12.lib libhdf5.settings libitkhdf5_D.lib libitkhdf5_cpp_D.lib Proposed new names for two hdf5 libraries for both Debug and Release builds: itkhdf5-4.12.lib itkhdf5_cpp-4.12.lib From matt.mccormick at kitware.com Wed Oct 11 13:14:17 2017 From: matt.mccormick at kitware.com (Matt McCormick) Date: Wed, 11 Oct 2017 13:14:17 -0400 Subject: [ITK-dev] HDF5 library naming In-Reply-To: References: Message-ID: Hi David, On Wed, Oct 11, 2017 at 12:58 PM, David Cole via Insight-developers wrote: > I see the difference in release and debug library names for the HDF5 > libraries has already been discussed about a year ago: > > https://itk.org/pipermail/insight-developers/2016-October/024995.html > > However, the answer seems unsatisfactory to me. > > Why can't ITK install these libraries named according to its own > convention for 3rd party libraries...? (i.e. -- why is "upstream did > it that way and we just updated to that" acceptable as a response > here?) Because we do not have infinite resources to maintain forks and support all build systems. > I use a non-CMake build system consuming ITK libraries where it is > much easier to deal with libraries named consistently (and using the > same names for debug and release builds). Especially when you are > dealing with static libraries only, there does not seem to be a good > reason to allow this deviation to persist long term. > > Would a proposed patch correcting the naming (conforming to ITK > version naming convention like other ITK 3rd party libs, and named the > same in Release and Debug) be accepted? A patch would be accepted assuming that responsibility will be taken by the author to maintain the fork in the future. Thanks, Matt From jchris.fillionr at kitware.com Wed Oct 11 15:10:46 2017 From: jchris.fillionr at kitware.com (Jean-Christophe Fillion-Robin) Date: Wed, 11 Oct 2017 15:10:46 -0400 Subject: [ITK-dev] HDF5 library naming In-Reply-To: References: Message-ID: Hi, What about patching the upstream system to allow configuration of library output name and install dir ? Hth Jc On Wed, Oct 11, 2017 at 1:14 PM, Matt McCormick wrote: > Hi David, > > On Wed, Oct 11, 2017 at 12:58 PM, David Cole via Insight-developers > wrote: > > I see the difference in release and debug library names for the HDF5 > > libraries has already been discussed about a year ago: > > > > https://itk.org/pipermail/insight-developers/2016-October/ > 024995.html > > > > However, the answer seems unsatisfactory to me. > > > > Why can't ITK install these libraries named according to its own > > convention for 3rd party libraries...? (i.e. -- why is "upstream did > > it that way and we just updated to that" acceptable as a response > > here?) > > Because we do not have infinite resources to maintain forks and > support all build systems. > > > > I use a non-CMake build system consuming ITK libraries where it is > > much easier to deal with libraries named consistently (and using the > > same names for debug and release builds). Especially when you are > > dealing with static libraries only, there does not seem to be a good > > reason to allow this deviation to persist long term. > > > > Would a proposed patch correcting the naming (conforming to ITK > > version naming convention like other ITK 3rd party libs, and named the > > same in Release and Debug) be accepted? > > A patch would be accepted assuming that responsibility will be taken > by the author to maintain the fork in the future. > > Thanks, > Matt > The ITK community is transitioning from this mailing list to > discourse.itk.org. Please join us there! > ______________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Kitware offers ITK Training Courses, for more information visit: > http://kitware.com/products/protraining.php > > Please keep messages on-topic and check the ITK FAQ at: > http://www.itk.org/Wiki/ITK_FAQ > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/insight-developers > -- +1 919 869 8849 <(919)%20869-8849> -------------- next part -------------- An HTML attachment was scrubbed... URL: From nasil122002 at yahoo.de Thu Oct 19 16:26:39 2017 From: nasil122002 at yahoo.de (Yusuf OEZBEK) Date: Thu, 19 Oct 2017 20:26:39 +0000 (UTC) Subject: [ITK-dev] itk FEM Solver References: <1776029806.849749.1508444799457.ref@mail.yahoo.com> Message-ID: <1776029806.849749.1508444799457@mail.yahoo.com> Dear ITK community, I want to deform a 3D model using itk?s FEM module. For this I have implemented the following workflow: 1. Read CT data-set and create 3D iso-surface using vtkMarchingCubes (output is polydata) 2. Extracted the interested surface using vtkHardwareSelector (output is 2D polydata) 3. Converted the extracted surface to the unstructured gird using vtkUnstructuredGrid and vtkDelaunay3D in order to get a 3D tetrahedron as unstructured grid (output is 3D unstructured grid) 4. Converted the unstructured grid to the itk mesh, which contains tetrahedron cells (output is itkMesh object) 5. To convert the itk mesh to the FEM model, I have created FEM object (FEMObject<3>), which contains a material (MaterialLinearElasticity), elements and nodes (Element3DC0LinearTetrahedronStrain), boundary conditions within force (LoadBC) and to generate a solution for the formulation, I have created a solver (FEMSolver<3>). My problem is: If I call the update of solver ?solver->Update()? I get the warnings ?/itk-4.7.2/Modules/ThirdParty/VNL/src/vxl/core/vnl/algo/vnl_qr.txx: vnl_qr::solve() : matrix is rank-deficient by 3? and generated solutions are just zeros. The test code can be found under the link: https://www.dropbox.com/s/v8q5qdqg9ads33n/vtkUGridToFemMesh.zip?dl=0 Thank you for any help From nasil122002 at yahoo.de Mon Oct 23 10:25:27 2017 From: nasil122002 at yahoo.de (Yusuf OEZBEK) Date: Mon, 23 Oct 2017 14:25:27 +0000 (UTC) Subject: [ITK-dev] Convert itk::FEM Object to vtk after solve References: <1051321742.3378574.1508768727809.ref@mail.yahoo.com> Message-ID: <1051321742.3378574.1508768727809@mail.yahoo.com> Hello, Is there any possibility to convert the deformed fem object to the vtk (e.g. polydata), without saving it as meta object? Thanks!? -------------- next part -------------- An HTML attachment was scrubbed... URL: