From andrea_kid90 at yahoo.it Fri Dec 1 04:49:24 2017 From: andrea_kid90 at yahoo.it (AR_univr) Date: Fri, 1 Dec 2017 02:49:24 -0700 (MST) Subject: [ITK-users] Resampler to itk::image Message-ID: <1512121764445-0.post@n2.nabble.com> Hi, I'm having problems to convert Resampler Output to itk::Image . Here a snippet of what i'm doing : const unsigned int ImageDimension = 3; typedef unsigned char PixelType; typedef itk::Image< PixelType, ImageDimension > InputImageType; typedef itk::ResampleImageFilter< InputImageType, InputImageType > ResamplerType; . . . InputImageType::Pointer inputImage = . . . ResamplerType::Pointer resampler = ResamplerType::New(); InterpolatorType::Pointer interpolator = InterpolatorType::New(); resampler->SetInterpolator(interpolator); InputImageType::SpacingType spacing = inputImage->GetSpacing(); InputImageType::PointType origin = inputImage->GetOrigin(); InputImageType::DirectionType direction = inputImage->GetDirection(); InputImageType::RegionType region = inputImage->GetBufferedRegion(); InputImageType::SizeType size = region.GetSize(); resampler->SetOutputSpacing(spacing); resampler->SetOutputDirection(direction); resampler->SetOutputOrigin(origin); resampler->SetSize(size); resampler->SetTransform(tps); resampler->SetOutputStartIndex(region.GetIndex()); resampler->SetInput(inputImage); std::cout << "[resampler] Written Origin : " << resampler->GetOutputOrigin()[0] << ", " << resampler->GetOutputOrigin()[1] << ", " << resampler->GetOutputOrigin()[2] << std::endl; std::cout << "[resampler] Written Spacing : " << resampler->GetOutputSpacing()[0] << ", " << resampler->GetOutputSpacing()[1] << ", " << resampler->GetOutputSpacing()[2] << std::endl; std::cout << "[resampler] size : " << resampler->GetSize() << std::endl; std::cout << "[resampler] transform : " << resampler->GetTransform() << std::endl; std::cout << "[resampler] num of outs : " << resampler->GetNumberOfOutputs() << std::endl; std::cout << "[resampler] Written Direction: \n" << resampler->GetOutputDirection() << std::endl; Up to here i have the values, and it seems it's working. But when i do InputImageType::Pointer output = resampler->GetOutput(); output is empty, and i dont know why... Am i missing something? any help would be appreciated Thanks ! Andrea -- Sent from: http://itk-insight-users.2283740.n2.nabble.com/ From dzenanz at gmail.com Fri Dec 1 09:22:54 2017 From: dzenanz at gmail.com (=?UTF-8?B?RMW+ZW5hbiBadWtpxIc=?=) Date: Fri, 1 Dec 2017 09:22:54 -0500 Subject: [ITK-users] Resampler to itk::image In-Reply-To: <1512121764445-0.post@n2.nabble.com> References: <1512121764445-0.post@n2.nabble.com> Message-ID: Hi Andrea, what you are missing is resampler->Update(); Regards, D?enan On Fri, Dec 1, 2017 at 4:49 AM, AR_univr via Insight-users < insight-users at itk.org> wrote: > Hi, > I'm having problems to convert Resampler Output to itk::Image . > Here a snippet of what i'm doing : > > const unsigned int ImageDimension = 3; > typedef unsigned char PixelType; > typedef itk::Image< PixelType, ImageDimension > InputImageType; > typedef itk::ResampleImageFilter< InputImageType, InputImageType > > ResamplerType; > . . . > InputImageType::Pointer inputImage = . . . > > ResamplerType::Pointer resampler = ResamplerType::New(); > InterpolatorType::Pointer interpolator = InterpolatorType::New(); > resampler->SetInterpolator(interpolator); > InputImageType::SpacingType spacing = inputImage->GetSpacing(); > InputImageType::PointType origin = inputImage->GetOrigin(); > InputImageType::DirectionType direction = inputImage->GetDirection(); > InputImageType::RegionType region = inputImage->GetBufferedRegion(); > InputImageType::SizeType size = region.GetSize(); > > resampler->SetOutputSpacing(spacing); > resampler->SetOutputDirection(direction); > resampler->SetOutputOrigin(origin); > resampler->SetSize(size); > resampler->SetTransform(tps); > > resampler->SetOutputStartIndex(region.GetIndex()); > resampler->SetInput(inputImage); > > std::cout << "[resampler] Written Origin : " << > resampler->GetOutputOrigin()[0] << ", " << resampler->GetOutputOrigin()[1] > << ", " << resampler->GetOutputOrigin()[2] << std::endl; > std::cout << "[resampler] Written Spacing : " << > resampler->GetOutputSpacing()[0] << ", " << resampler->GetOutputSpacing()[ > 1] > << ", " << resampler->GetOutputSpacing()[2] << std::endl; std::cout > << "[resampler] size : " << resampler->GetSize() << std::endl; > std::cout << "[resampler] transform : " << resampler->GetTransform() << > std::endl; > std::cout << "[resampler] num of outs : " << > resampler->GetNumberOfOutputs() << std::endl; > std::cout << "[resampler] Written Direction: \n" << > resampler->GetOutputDirection() << std::endl; > > > Up to here i have the values, and it seems it's working. > But when i do > > InputImageType::Pointer output = resampler->GetOutput(); > > output is empty, and i dont know why... Am i missing something? > > any help would be appreciated > > Thanks ! > > Andrea > > > > -- > Sent from: http://itk-insight-users.2283740.n2.nabble.com/ > 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://www.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-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: From andrea_kid90 at yahoo.it Sat Dec 2 04:51:10 2017 From: andrea_kid90 at yahoo.it (AR_univr) Date: Sat, 2 Dec 2017 02:51:10 -0700 (MST) Subject: [ITK-users] Resampler to itk::image In-Reply-To: <1512121764445-0.post@n2.nabble.com> References: <1512121764445-0.post@n2.nabble.com> Message-ID: <1512208270628-0.post@n2.nabble.com> Thanks ! -- Sent from: http://itk-insight-users.2283740.n2.nabble.com/ From matt.mccormick at kitware.com Sat Dec 2 10:11:30 2017 From: matt.mccormick at kitware.com (Matt McCormick) Date: Sat, 2 Dec 2017 10:11:30 -0500 Subject: [ITK-users] watershed on surface meshs In-Reply-To: References: <67d53e88-3783-6a6b-faae-cab064883d9d@mh-hannover.de> Message-ID: Hi Roman, Another possible idea is to use ITK's mesh fast marching capabilities: https://itk.org/ITKExamples/src/Filtering/FastMarching/ComputeGeodesicDistanceOnMesh/Documentation.html with curvature as a speed function in same optimization approach used to compute minimal paths on images: http://www.insight-journal.org/browse/publication/213 HTH, Matt On Fri, Nov 24, 2017 at 10:16 PM, Richard Beare wrote: > Just remembered something that may be useful for testing. I wrote the > following for doing watersheds on geospatial graphs using R/igraph. > Certainly isn't efficient, but may be useful for testing if you can turn > your mesh+curvature into something like a text file. > > This was set up for allocating points on maps to destinations based on > travel time. It performed a kind of smoothing to smooth non-sensical travel > time estimates, but the basic algorithm is there. It will take some > fiddling. You could probably do something equivalent with python, probably > doing better than this priorty queue, but using much the same approach with > igraph. > > library(liqueueR) > > ## Mostly a copy of PriorityQueue from liqueueR > StablePriorityQueue <- setRefClass("StablePriorityQueue", > contains = "Queue", > fields = list( > count = "numeric", > entries = "numeric", > priorities = "numeric", > prioritise = "function" > ), > methods = list( > sort_ = function() { > order = order(priorities, entries, > decreasing = TRUE, partial = size():1) > # > data <<- data[order] > priorities <<- priorities[order] > entries <<- entries[order] > }, > push = function(item, priority = NULL) > { > 'Inserts element into the queue, > reordering according to priority.' > callSuper(item) > # > if (is.null(priority)) priority = > prioritise(item) > # > priorities <<- c(priorities, > priority) > entries <<- c(entries, count) > count <<- count - 1 > # > sort_() > }, > pop = function(N = 1) { > # 'Removes and returns head of queue > (or raises error if queue is empty).' > if (N > size()) stop("insufficient > items in queue!") > priorities <<- > priorities[-seq_len(N)] > entries <<- entries[-seq_len(N)] > callSuper(N) > }, > initialize = function(prioritise = > NULL, ...) { > 'Creates a PriorityQueue object.' > callSuper(...) > # > ## to enforce FIFO order > count <<- 0 > if (is.null(prioritise)) > .self$prioritise = function(x) 0 > else > .self$prioritise = prioritise > # > .self > } > ) > ) > > > > igraph.watershed <- function(Gr, labelfield, unlabelled, vertexid, alltimes) > { > Gres <- Gr > ## Watershed, without marking boundary (Beucher) > ## 1. find all marker nodes that have a background neighbour > lablist <- which(vertex_attr(Gr, labelfield) != unlabelled) > nlist <- ego(Gr, 1, lablist) > uu <- which(map_lgl(nlist, ~any(vertex_attr(Gr, labelfield, > .x)==unlabelled))) > ## uu indexes the labelled vertexes > ## need indexes into all vertexes > uu <- lablist[uu] > ## create priority queue > qq <- StablePriorityQueue$new() > ## Insert the boundary markers > kk <- lapply(uu, qq$push, priority=0) > all.labels <- get.vertex.attribute(Gr, labelfield) > all.ids <- get.vertex.attribute(Gr, vertexid) > alltimes <- subset(alltimes, from %in% all.ids, select=c("from", > "Hospital", "minutes")) > dd <- duplicated(alltimes[, c("from", "Hospital")]) > alltimes <- alltimes[!dd,] > alltimes.wide <- spread_(alltimes, key="Hospital", value="minutes") > ## Make the order the same as all.ids - so now we'll be able to index by > number > rownames(alltimes.wide) <- alltimes.wide$from > alltimes.wide <- alltimes.wide[all.ids, ] > cc <- 1:ncol(alltimes.wide) > names(cc) <- colnames(alltimes.wide) > while (qq$size() > 0) { > vid <- qq$pop() > ## Get the neighbours > nb <- neighborhood(Gr, 1, vid, mode="all", mindist=1)[[1]] > nlabs <- all.labels[nb] > ## Are any neighbours unknown? > ul <- nlabs==unlabelled > if (any(ul)) { > this.label <- all.labels[vid] > nbb <- nb[ul] > all.labels[nbb] <- this.label > this.label.idx <- cc[this.label] > priorities <- alltimes.wide[[this.label.idx]][nbb] > kk <- map2(nbb, priorities, ~qq$push(.x, priority = .y* -1)) > } > } > return(data.frame(PlaceID=all.ids, Hospital=all.labels, stringsAsFactors = > FALSE)) > } > > > > > On Fri, Nov 24, 2017 at 10:26 PM, Grothausmann, Roman Dr. > wrote: >> >> Dear mailing list members, >> >> >> I need to separate a mesh at "curved corners" (see attached PNG, using the >> colored labels from a facet analysis do not suffice but go in the right >> direction). So my current thought is to run vtkCurvature to get a Gaussian >> curvature value per point/vertex and then try to separate regions of >> positive values around local maxima. Just thresholding the result of >> vtkCurvature does not fully separate each local max from neighboring ones, >> but to my understanding a surface watershed would. I found two publications >> by Mangan and Whitaker on this: >> >> Partitioning 3D surface meshes using watershed: >> >> http://teacher.en.rmutt.ac.th/ktw/Resources/Full%20paper%20PDF/Partitioning%203D%20surface%20meshes%20using%20watershed%20segmentation.pdf >> >> Surface Segmentation Using Morphological Watersheds: >> >> https://www.google.de/url?sa=t&rct=j&q=&esrc=s&source=web&cd=4&cad=rja&uact=8&ved=0ahUKEwjD0by1lafWAhVUGsAKHZ2MAbUQFgg_MAM&url=http%3A%2F%2Fciteseerx.ist.psu.edu%2Fviewdoc%2Fdownload%3Fdoi%3D10.1.1.464.2788%26rep%3Drep1%26type%3Dpdf&usg=AFQjCNGX-p9-ElQFcpsUyBRO0pCjBKCmNg >> >> Does anybody know about an implementation for this in VTK/ITK or another >> open-source library? If not, would it be possible to transfer the ITK >> watershed implementation for voxel data to mesh data, e.g. to crate a >> VTKmorphWatershedFilter? >> >> Thanks for any help or hints. >> Roman >> >> >> -- >> Dr. Roman Grothausmann >> >> Tomographie und Digitale Bildverarbeitung >> Tomography and Digital Image Analysis >> >> Medizinische Hochschule Hannover >> Institut f?r Funktionelle und Angewandte Anatomie >> OE 4120, Carl-Neuberg-Str. 1, 30625 Hannover, Deutschland >> >> Tel. +49 511 532-2900 >> grothausmann.roman at mh-hannover.de >> http://www.mh-hannover.de/anatomie.html >> >> 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://www.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-users >> > > > 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://www.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-users > From francois.budin at kitware.com Mon Dec 4 23:05:06 2017 From: francois.budin at kitware.com (Francois Budin) Date: Mon, 4 Dec 2017 23:05:06 -0500 Subject: [ITK-users] [ANN] ITK 4.13 Release Candidate 1 is ready for testing! Message-ID: *On behalf of the Insight Toolkit community, we are proud to announce that ITK 4.13 release candidate 1 has been tagged and is available for testing! Please take this opportunity to test the new features in the release candidate.To obtain the source code, use the links: https://github.com/InsightSoftwareConsortium/ITK/archive/v4.13rc01.zip https://github.com/InsightSoftwareConsortium /ITK/archive/v4.13rc01.tar.gz A few selected highlights for this release: - ITK is on PyPI: Install ITK Python with: `pip install itk` - New external module IsotropicWavelets: This module implements a multiresolution (MRA) analysis framework using isotropic and steerable wavelets in the frequency domain. This framework provides the backbone for state of the art filters for denoising, feature detection or phase analysis in N-dimensions. It focus on reusability, and highly decoupled modules for easy extension and implementation of new filters, and it contains a filter for multiresolution phase analysis, - ITK Python filters are now callables which allows the usage of ITK in a procedural way: It is possible to run filters without have to declare the filter object first, and without calling explicitly ?Update()?. - ?long long? pixel type support has been added which allows support of 64 bits images on Windows. - Availability of GoogleTest for testing in ITK: a module can be tested with the GoogleTest as opposed to the classic ITKTestDriver. - Improved factory registration: Each module (even remote ones) lists the factories and format they support. This information is used to automatically register all formats supported by modules loaded during configuration. It is also now possible to not list each factory individually, but to directly load them all for each factory type (e.g. ImageIO, TransformIO). To load all components of a factory, add the component `ITK` in the list of requested components. Here is an example to find ITK with ITKCommon and all the image and transform IOs that are available: `find_package(ITK COMPONENTS ITKCommon ITKImageIO ITKTransformIO REQUIRED)`Please test the release candidate and share your experiences on Discourse, the issue tracker, and Gerrit Code Review [1].An Experimental build, which demonstrates how the test suite performs on your local build system, can be submitted to the dashboard [2] with: mkdir ../ITK-build cd ../ITK-build cmake ../ITK ctest -j 4 -M Experimental -T Configure -T Build -T Test -T SubmitVisual Studio builds must also add ?-C Release? to the ctest command.Notify the mailing list if there are any unexpected failures. Testing your own applications against the RC is also appreciated.Congratulations to the 28 contributors to this release. We would especially like to recognize the new contributors: Laura Pascal, Beatriz Paniagua, Rene-Paul Debroize, Edwin Bennink, David K?gler, Adrien Bailly, and Steve Pieper.The 4.13.0 final release is scheduled for December 18th 2017.[1] https://github.com/InsightSoftwareConsortium/ITK/blob/master/CONTRIBUTING.md [2] http://open.cdash.org/index.php?project=Insight New Features------------------* Wrapping Improvements - Binary Python packages are now available for Linux, macOS, and Windows. Install with: - pip install --upgrade pip - pip install itk - Add wrapping for several classes: MultiResolutionIterationEvent, RegionOfInterestFilter for VectorImage's, FloatingPointExceptions, CorrelationMetricv4, DemonsMetricv4, JointHistogramMIMetricv4, ITKIOMesh. - Enable __call__() function in Python for itkTemplate objects to make ITK more Pythonic. Developer can run instantiate, run a filter, and get the output, in one single command. - Python docstrings are generated from the C++ doxygen documentation and directly integrated in the Python modules. - Support installs each module Python wrapping independently - Update Bruker IO wrapping after migration from ITKReview* New Remote Modules - SimpleITKFilters - The filters in this module may be wrappers of composites ITK filters, adapters of existing ITK filters or alternative implementations designed for SimpleITK's requirements. - http://github.com/SimpleITK/ITKSimpleITKFilters - TextureFeatures - Filters to estimate texture feature maps from N-dimensional grayscale images. - http://hdl.handle.net/10380/3574 - IsotropicWavelets - An ITK-based implementation of steerable isotropic wavelet transforms for multiscale phase analysis. - http://hdl.handle.net/10380/3558 * Core Improvements - Making available GoogleTest for testing in ITK - Support VCPKG, Microsoft's vcpkg C++ package management system for Visual Studio - Refactor ITK's ThreadPool implementation for performance - Addition of type long long and unsigned long long for images - Add options to itkTestDriver and itkTestingComparisonImageFilter to compare image size, origin, spacing, and direction - Adds itk_module_examples() macro to simplify the creation of independent examples in remote modules - Improve factory registration mechanism (see highlighted features) - ITK Python modules now share the list of factories that are registered - Automatic enabling of the -fPIC flag for external modules - Detect the presence of feenableexcept to compile on Alpine Linux - Update GDCM import script for changes in upstream content* Filtering Improvements - Improve Not functor and filter to follow other logic functors - Separate functors from filters in header by operator groups - Move rank filters out of review - Explicitly warn and deprecate negative pixel spacing - Add SliceImageFilter - Move advance Demons registration filters out of review - Add ShapeLabelObject::GetRegion method - Many improvements in HoughTransform2DCirclesImageFilter* IO Improvements - Enable MINC IO by default - PNG IO was crashing instead of returning false when it couldn?t read image - Several DCMTK improvements: build DMCTK on Windows, replace ICONV with ICU in DCMTK dependencies, support color images (RGB/RGBA) - Use double floating point API for MetaImage: the text representation is now closer to theDICOM Image Orientation (Patient) or Image Position (Patient) attribute and will allow easier conversion from one representation to the other. - Fixed leak into user code - Updated the Bruker2DSeq reader to ParaVision 6.0* Documentation Improvements - Improvement of documentation Markdown files throughout the repository - Update old file headers/copyright notices. - Improve source code coding style - Enable offline Doxygen support - Expose RayCastInterpolateImageFunction members in Doxygen - Updated documentation for LabelStatisticsImageFilter::GetBoundingBox. - Document behaviors of ChangeLabelLabelMapFilter* Remote Module Updates - AnisotropicDiffusionLBR (08.31.2017) - Update MorphologicalContourInterpolation (09.22.2017)* Third Party Library Updates - Update pygccxml version (v1.9.0) - Update libPNG to track upstream libpng16 branch - Update version of DCMTK to 3.6.1_20170529 - Update CastXML to support GCC 7 (11.06.2017) - Update MetaIO (12.04.2017) - Adding libLBFGS third party library - Update MINC (09.14.2017) - Update VNL (10.05.2017)* *Lots* of important bug fixes* And much more! See details in the log below.Changes from v4.12.0 to v4.13rc01------------------------------------------------Adrien Bailly (1): ENH: add wrapping for MultiResolutionIterationEvent and other missing eventBeatriz Paniagua (2): ENH: Updating pygccxml version ENH: Updating libPNG to track upstream libpng16 branchBrad King (2): ENH: Port GDCM update script to update-third-party.bash ENH: Update GDCM import script for changes in upstream contentBradley Lowekamp (78): DOC: fix spelling transfrom->transform ENH: Improve Not functor and filter to follow other logic functors ENH: Separate functors from filters in header by operator groups DOC: Fix spelling mistakes from SimpleITK JSON, from spellintian ENH: making available GoogleTest for testing in ITK COMP: Address missing ITK_TEMPLATE_EXPORT definition COMP: Use single line for string argument, by-pass multi-line issues COMP: Revert to CMake 2 compatible line comment ENH: Move rank filters out of review BUG: Use const for pipeline inputs and state functions ENH: Explicitly warn and deprecate negative pixel spacing. BUG: Modify google test to define _VARIADIC_MAX=10 COMP: Fix using system GoogleTest with a compiled system library ENH: Add SliceImageFilter COMP: Use itk::Math::abs over vnl_math_abs ENH: Add GetProbe method to collectors base. BUG: Add missing exports for GTest::* targets BUG: Fix computation of central moments for shape label map ENH: Adding operator functors from SimpleITK ENH: Choose efficient central moment computation for run BUG: Add missing OrientedBoundingBox option DOC: recommend using separate instances BUG: Manually set seed for ParticleSwarmOptimzerTest BUG: Fix computation of oriented bounding box BUG: shape label object elongation incorrectly zero ENH: Add GTest utilities for ITK ENH: adding explicit testing of computed label shape attributes BUG: Propagate make program to KWStyle ExternalProject BUG: Error only when unknown module is enabled. DOC: Document behaviors of ChangeLabelLabelMapFilter BUG: Document and assert improper usage of transform methods. COMP: Enable hidden visibility property with GoogleTest static libraries DOC: Doxygen namespace tag must be full namespace BUG: Fix computation for Jacobian local vector BUG: Cast to PrintType for MaskLabel variable printing ENH: Update FixedPointInverseDisplacementField remote module BUG: Error only when unknown module is enabled. BUG: Fix computation of central moments for shape label map BUG: shape label object elongation incorrectly zero BUG: Fix computation of oriented bounding box BUG: Add missing OrientedBoundingBox option ENH: Only remove hidden visibility for C file with CMake<3 BUG: Print missing Seeds parameter and values used for Upper/Lower ENH: Remove unneeded m_Upper and m_Lower ivars ENH: Prefer raw pointers for pipelined owned objects ENH: Update to use CircleCI 2.0 ENH: Enable MINC IO by default ENH: Move advance Demons registration filters out of review BUG: Fix CircleCI command to upload test results ENH: Test SliceBySlice with non-zero index BUG: Use same origin for internal image as input image BUG: Remove duplicate code from local commit COMP: Remove MINC library level exports ENH: Add ProcessObject::AddOptionalInputName and more named inputs ENH: Make more use of AddOptionalInputName BUG: Use input macros for const correct pipeline inputs ENH: Remove input name when renamed and add tests BUG: Correct OBB names in GetAttributeFromName ENH: Add ShapeLabelObject::GetRegion method ENH: Hide MINC data in MINCIImageIO interface BUG: Remove newly added warning in ProcessObject AddRequiredInput BUG: Apply constant function specifier BUG: Fix marking of required inputs for GPU PDE registration BUG: Add missing getter method for PDE InitialDisplacementField ENH: Use Input macros for set/get GPU PDE inputs ENH: Move private GE format headers to src ENH: CircleCI use ccache and cache external data ENH: Extract reusable code into a copy image information functor ENH: Change Cast parent class to InPlaceImageFilter BUG: Add search paths for GoogleTest as source code on system BUG: Update BinaryImageToLabelMapFilter::m_NumberOfLabels COMP: Remove shadowing typedef ENH: Updating remote module TextureFeatures to 3.0.0 COMP: Use integer suffix for long long types BUG: Disable checking of OBB origin PERF: Use initialized global variable for default number of threads ENH: Add remote mote SimpleITKFilters ENH: Add type for MultiThreader used by the ProcessObjectDavid K?gler (1): BUG: better support for OBJ mesh formatD?enan Zuki? (18): ENH: adding an example and improving tests ENH: support VCPKG ENH: rewriting ThreadPool and enabling it by default ENH: docs and compiler fix for ThreadPool, improvements of itkBarrierTest ENH: turning off thread pool by default for now STYLE: minor fix in debug mode and clearer code intent by using macros STYLE: warn users of the DeformableSimplexMesh3DFilter's limitations ENH: Addition of type long long and unsigned long long for images STYLE: VTK Mesh IO code simplification COMP: fixing warnings BUG: a call to SetGlobalDefaultNumberOfThreads was not respected BUG: LONGLONG was not handled by DCMTKImageIO BUG: PNG IO: return false instead of crashing in CanReadFile COMP: fix a warning BUG: ThreadPool hangs on Windows when ITK is compiled as DLLs BUG: tests writing to the same file randomly fail during parallel invocation COMP: fixing 2 compile errors on some compilers ENH: adding JSON format report to resource probeEdwin Bennink (1): BUG: Fixed cylinder bbox, fixed and enhanced IsInside funcFloris Berendsen (1): COMP: add symbol name mangling for niftilib in ITKFrancois Budin (42): ENH: Bump ITK version to 4.13.0. BUG: Update external data content links ENH: Add cleanup option to content synchronization script BUG: Used ITK_HAVE_FEENABLEEXCEPT instead of ITK_HAS_FEENABLEEXCEPT Revert "Merge branch 'feenableexcept-musl-for-release' into release" Merge branch 'upstream-metaio' into update_metaIO ENH: Bump CMakeLists.txt version to 4.12.1. COMP: Remove -fvisibility-inlines-hidden warning with CMake 2.8.12 BUG: Remove VNL view from array functions and rename wrong variable BUG: itkSimilarity2DTransform was not reporting singular matrices ENH: Add test to verify ITK-3553 fixes BUG: itkTestingComparisonImageFilter should derive from itkImageToImageFilter BUG: Update tests to use ImageToImage compare image filter ENH: Add options to itkTestDriver and itkTestingComparisonImageFilter ENH: Adds MINC image IO wrapping ENH: Replace ICONV with ICU to compile DCMTK DOC: Document that workaround MSVC 2017 optimization bug has been corrected BUG: sha512 file must exist before complaining that it hasn't been updated BUG: Missing files for DCMTK ImageOrientation test BUG: itkgdcmopenjp2 was not exported in the build tree in GDCM BUG: Duplicate SetInput()/GetInput() in itkTestingComparisonImageFilter BUG: ICU_ARGS CMake variable should be declared CACHE BUG: Typo in CMake variable name BUG: Build DMCTK on Windows BUG: Support color images (RGB/RGBA) with DCMTK ENH: Add test for colored images loaded with DCMTK BUG: ICU is always compiled statically ENH: Update DCMTK build instructions for Windows ENH: Adds itk_module_examples() macro COMP: Bump CMake required version to 2.8.12 ENH: Simplify itk-module-init.cmake for DCMTK BUG: Inconsistent image information between result and baseline BUG: Python docstrings were not generated anymore ENH: Add __call__() function in Python itkTemplate objects BUG: DMCTK configuration with ICU on Windows was only correct for VS2017 BUG: Remove man page generation that is not necessary anymore ENH: Improving factory registration ENH: Adding factory components ENH: Update remote modules using FACTORY_NAMES BUG: Add previously removed function __getattr__() in itkTemplate.py BUG: Synchronize factories across modules in Python ENH: Allow RAW itk-module as shared libraryGCC-XML Upstream (1): ENH: pygccxml v1.9.0 (reduced)GDCM Upstream (4): GDCM 2017-09-15 (87e3c363) GDCM 2017-10-13 (46919364) GDCM 2017-11-09 (af81d444) GDCM 2017-11-23 (4c51c343)Google double-conversion Maintainers (1): ENH: Google double-conversion (reduced)GoogleTest Upstream (1): googletest 2016-07-14 (a3ac2d7f)Hans Johnson (3): BUG: vnl_fft_1d lacks sufficient numerical stability COMP: Clang compiler regression ENH: Synchronized with cmake version of fileJean-Baptiste VIMORT (2): ENH: Automatic enabling of the -fPIC flag for external modules ENH: Supression of GDCM's linking to CoreFoundationJean-Christophe Fillion-Robin (6): ENH: Support installing each module python wrapping independently COMP: Update KWsys to set MACOSX_RPATH property based on CMAKE_MACOSX_RPATH COMP: Update MINC to set MACOSX_RPATH property based on CMAKE_MACOSX_RPATH COMP: ITKModuleExternal: Reset targets file BUG: Fix hook clone COMP: UseITK: Fix configure error due to different subproject requirementsJon Haitz Legarreta Gorro?o (33): ENH: Improve coverage for v3 compatibility image arithm filters. DOC: Fix typo in 'exception'. STYLE: Improve the itk::FastMarchingImageFilterBase class style. STYLE: Improve itkApproximageSignedDistanceMapImageFilterTest style. ENH: Check for input/output objects with an assertion. BUG: Fix const casting compiler errors. DOC: Update old file headers/copyright notices. STYLE: Improve the itkSmoothingRecursiveGaussiaImageFilter style. ENH: Improve coverage for itkSmoothingRecursiveGaussianImageFilter. BUG: Fix links to NOTICE and LICENSE files in README.md. STYLE: Conform (partially) to ITK coding style. STYLE: Change SubtractConstantFromImageFilterTest name. BUG: Add missing input image iterator declaration. BUG: Fix Superclass names in V3Compatibility tests. DOC: Fix wrong comments in V3Compatibility tests. DOC: Correct the preferred class names in ITKv4. COMP: Fix valgrind-detected uninitialized members. ENH: Improve coverage for itkWarpHarmonicEnergyCalculator. ENH: Bump lastest version of remote repository. ENH: Display error message in Iterator classes' wrapping. DOC: Add links to NOTICE and LICENSE files in README. DOC: Rework the contributing files. DOC: Document how to upload binary data in a Markdown file. DOC: Transition ThirdParty top-level README files to Markdown. DOC: Add third party project updating documentation markdown file. DOC: Document the release process in a Markdown file. DOC: Transition Utilities/Maintenance/README Markdown. DOC: Remove Documentation/Style.pdf file. DOC: Redirect the "Submit a patch" link to CONTRIBUTING.md. DOC: Mention the ITK full name in README.md. DOC: Fix broken links and oversights in CONTRIBUTING.md. DOC: Add a GitHelp.md resource to Documentation. DOC: Make the ITK long name be consistent in .md files.KWSys Upstream (1): KWSys 2017-10-17 (fc4d55ba)Laura Pascal (2): ENH: Update version of DCMTK to 3.6.1_20170529 ENH: Update the DoubleConversion library upstream update script.Mathieu Malaterre (4): ENH: Explicit set the precision when printing double ENH: Use double floating point API for MetaImage ENH: Define a global default double precision for MetaImage ENH: Enforce data truncation for legacy testsMatthew McCormick (46): ENH: Add install rules for External Module Python package COMP: Do not wrap std::_Deque_alloc ENH: Wrap RegionOfInterestFilter for VectorImage's COMP: Disable CoreFoundation calls ENH: Execute the merge when updating third party subtrees ENH: Allow custom repo and branch for MetaIO subtree updates COMP: Specify AR to PCRE build on macOS BUG: Mark GoogleTest CMake options as advanced COMP: Address LBFGS2Optimizerv4 doxygen warnings BUG: ITKIOGE has a public dependency on ITKIOIPL COMP: Bump KWStyle to latest master ENH: Add TextureFeatures remote module COMP: Detect the presence of mallinfo COMP: IsNull() capitalization in LevelSetEquationAdvectionTerm ENH: Wrap FloatingPointExceptions COMP: Use GDCM_HAVE_BYTESWAP_H COMP: Fail early when byteswap functions are not available COMP: Detect the presence of feenableexcept BUG: Use itkGetConstObjectMacro for LogBiasFieldControlPointLattice COMP: Detect the presence of feenableexcept COMP: Use GDCM_HAVE_BYTESWAP_H COMP: Fix AnisotropicDiffusionLBR example build BUG: Correct GPUMeanImageFilter Superclass BUG: Remove debug code from GPUMeanImageFilter BUG: Do not use static_cast, SmartPointer in GPUImage::GetGPUDataManager BUG: Remove debug code in itkGPUImage.hxx COMP: Do not call vector.data() in ITKIOBruker ENH: Bump CMakeLists.txt version to 4.12.1 DOC: Format the README in markdown syntax DOC: Enable offline Doxygen support BUG: ITKIOMINC DEPENDS on ITKMINC BUG: Update Bruker IO wrapping after migration from ITKReview COMP: Update MorphologicalContourInterpolation to 2017-09-22 DOC: Do not pre-cache Doxygen php files DOC: Expose RayCastInterpolateImageFunction members in Doxygen BUG: RayCastInterpolateImageFunciton physical space issues COMP: Overloaded - operator ambiguous in RayCastInterpolateImageFunction BUG: Add missing template export for GradientAnisotropicDiffusionImageFilter ENH: Wrap {Correlation,Demons,JointHistogramMI} Metricv4 ENH: Add Python wrapping for ITKIOMesh BUG: Hide HDF5 CMake options from main configuration BUG: Add DCMTK external project dependency after ExternalProject_Add COMP: Bump CastXML to 2017-11-06 master BUG: Fix hooks clone when ITK is a submodule BUG: Remove duplicate entries of ITK_WRAP_PYTHON_LIBRARY_IMPORTS DOC: Remove broken HoughTransform2DCircles wiki examples linkMetaIO Maintainers (5): MetaIO 2017-07-20 (92caf34d) MetaIO 2017-08-17 (3e1cb552) MetaIO 2017-10-04 (55395e3d) MetaIO 2017-08-31 (5f935e1b) MetaIO 2017-12-04 (02a2e22e)Niels Dekker (22): COMP: Fixed leak into user code STYLE: Replaced NiftiImageHolder by AutoPointer COMP: Fixed "gifti_io.h" leak into user code COMP: Fixed "Ge5xHdr.h" leak into user code PERF: Break out of loop as soon as requested number of circles is found STYLE: Removed useless (or obsolete) local bool, 'found'. PERF: Avoid redundant search in GetCircles(n) PERF: GetCircles now calls Graft, instead of copying pixels from GetOutput(0) DOC: Added comment that the grafted output image should not be modified. STYLE: Removed HoughTransform GetCircles parameter (n) which appears obsolete ENH: Added deprecated GetCircles(unsigned int) overload to HoughTransform COMP: Replaced deprecated GetCircles(n) call in HoughTransform example BUG: HoughTransform CirclesList should be empty when NumberOfCircles is zero ENH: Tested HoughTransform CirclesList is empty when NumberOfCircles is zero BUG: HoughTransform GetCircles() should avoid circles with accumulator <= 0 STYLE: Removed HoughTransform GetLines parameter (n), which appears obsolete ENH: Improved HoughTransform2DCirclesImageFilter accuracy, using Math::Round BUG: HoughTransform GetLines() returned too many lines PERF: Improved speed of HoughTransform2DCirclesImageFilter::GenerateData() STYLE: HoughTransform calling convenience overload of SetVariance DOC: Mentioned that HoughTransform2DCirclesImageFilter also finds discs ENH: Allow different types accumulator and radius image Hough Circles filterPablo Hernandez-Cerdan (3): ENH: Add External Module IsotropicWavelets. ENH: Update ExternalModule IsotropicWavelets to v0.4 ENH: Update IsotropicWaveletsRene-Paul Debroize (1): ENH: Add remote module TBBImageToImageFilterSamuel Gerber (2): ENH: Adding libLBFGS third party library BUG: stdint.h missing on Visual Studio 9Sean McBride (17): COMP: Added missing ITK_OVERRIDE COMP: fixed compilation error with int vs nullptr_t PERF: Fixed some comments; prefer preincrement COMP: Set GDCM_USE_COREFOUNDATION_LIBRARY off COMP: add itk prefix to gdcmopenjp2 library name COMP: Fixed some -Winconsistent-missing-override warnings COMP: Added ITK_OVERRIDE to hundreds of destructor declarations. COMP: Made ITK_OVERRIDE work only in MSVC >= 2012 (instead of 2010) COMP: Fixed Wshadow warnings by removing shadows COMP: Added a bunch more missing ITK_OVERRIDE COMP: suppress all compilers warnings from third party google test COMP: Added yet more ITK_OVERRIDEs, mostly on destructors COMP: Added yet more ITK_OVERRIDEs COMP: Fixed various -Wconst-qual warnings COMP: Fixed some Wcast-qual warnings COMP: Removed superfluous declarations in subclass, fixing override warnings COMP: Silence -Wunused-template warnings by making affected methods inlineSimon Rit (1): COMP: remove dynamic exception specificationsSteve Pieper (1): BUG: ITK-3553 fixes ImageOrientation issue in DCMTK readerTobias Wood (2): ENH: Updated the Bruker2DSeq reader to ParaVision 6.0 BUG: Bruker2dseq was not registered correctly due to module name change.VXL Maintainers (1): VNL 2017-10-05 (dd7794d9)Vladimir S. FONOV (2): MINC 2017-09-14 (e11c6df9) MINC 2017-10-18 (f2d06a67)Ziv Yaniv (2): DOC: Updated documentation for LabelStatisticsImageFilter::GetBoundingBox. BUG: itkVTKImageIO::CanWriteFile accepted files with wrong extension.-----------------------------------------------------Errors or omissions? Please fix them here:https://docs.google.com/document/d/1orL9w1PfN3ipO6XplViBmDJ-maP90F8MfrdpL8srxFw/edit * -------------- next part -------------- An HTML attachment was scrubbed... URL: From arw.tyx-ouy_mz at suou.waseda.jp Wed Dec 6 01:02:50 2017 From: arw.tyx-ouy_mz at suou.waseda.jp (arwtyxouymz) Date: Tue, 5 Dec 2017 23:02:50 -0700 (MST) Subject: [ITK-users] itkImageToVtkImageFilter does not work Message-ID: <1512540170425-0.post@n7.nabble.com> Hi, I am a newer of itk but i have some experience of vtk. I want to convert my itk image to vtk image by using itkImageToVtkImageFilter. In detail, I refer to this labeling example , and I want to use not QuickView but vtk Rendering System. I succeeded itkImage, but failed in itkLabelToRGBImageFilter. My code snippet is below: const unsigned int Dimension = 2; typedef unsigned char PixelType; typedef itk::RGBPixel RGBPixelType; typedef itk::Image ImageType; typedef itk::Image RGBImageType; typedef itk::Image< unsigned short, Dimension > OutputImageType; typedef itk::ConnectedComponentImageFilter ConnectedComponentImageFilterType; ConnectedComponentImageFilterType::Pointer connected = ConnectedComponentImageFilterType::New (); connected->SetInput(image); connected->Update(); typedef itk::LabelToRGBImageFilter RGBFilterType; RGBFilterType::Pointer rgbFilter = RGBFilterType::New(); rgbFilter->SetInput( connected->GetOutput() ); typedef itk::ImageToVTKImageFilter ConnectorType; ConnectorType::Pointer connector = ConnectorType::New(); connected->SetInput(rgbFilter->GetOutput()); connector->Update(); I thought rgbFilter->GetOutput() is itkImage Object, but it's wrong. How should i do? Please help me! -- Sent from: http://itk-users.7.n7.nabble.com/ From matt.mccormick at kitware.com Wed Dec 6 09:50:17 2017 From: matt.mccormick at kitware.com (Matt McCormick) Date: Wed, 6 Dec 2017 09:50:17 -0500 Subject: [ITK-users] itkImageToVtkImageFilter does not work In-Reply-To: <1512540170425-0.post@n7.nabble.com> References: <1512540170425-0.post@n7.nabble.com> Message-ID: Hi, This line : typedef itk::ImageToVTKImageFilter ConnectorType; should be typedef itk::ImageToVTKImageFilter ConnectorType; Another useful example: https://itk.org/ITKExamples/src/Bridge/VtkGlue/ConvertAnRGBitkImageTovtkImageData/Documentation.html Also, please check out the new Discourse forum where a lot of discussion is taking place: https://discourse.itk.org/ Thanks, Matt On Wed, Dec 6, 2017 at 1:02 AM, arwtyxouymz wrote: > Hi, > > I am a newer of itk but i have some experience of vtk. > > I want to convert my itk image to vtk image by using > itkImageToVtkImageFilter. > In detail, I refer to this labeling example > > , and I want to use not QuickView but vtk Rendering System. > > I succeeded itkImage, but failed in itkLabelToRGBImageFilter. > > My code snippet is below: > > const unsigned int Dimension = 2; > typedef unsigned char PixelType; > typedef itk::RGBPixel RGBPixelType; > typedef itk::Image ImageType; > typedef itk::Image RGBImageType; > typedef itk::Image< unsigned short, Dimension > OutputImageType; > > typedef itk::ConnectedComponentImageFilter > ConnectedComponentImageFilterType; > ConnectedComponentImageFilterType::Pointer connected = > ConnectedComponentImageFilterType::New (); > connected->SetInput(image); > connected->Update(); > > typedef itk::LabelToRGBImageFilter > RGBFilterType; > RGBFilterType::Pointer rgbFilter = RGBFilterType::New(); > rgbFilter->SetInput( connected->GetOutput() ); > > typedef itk::ImageToVTKImageFilter ConnectorType; > ConnectorType::Pointer connector = ConnectorType::New(); > connected->SetInput(rgbFilter->GetOutput()); > connector->Update(); > > I thought rgbFilter->GetOutput() is itkImage Object, but it's wrong. > > How should i do? > Please help me! > > > > -- > Sent from: http://itk-users.7.n7.nabble.com/ > 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://www.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-users From ds_prakash at rediffmail.com Thu Dec 7 02:09:10 2017 From: ds_prakash at rediffmail.com (Surya Prakash) Date: 7 Dec 2017 07:09:10 -0000 Subject: [ITK-users] =?utf-8?q?Registration?= Message-ID: <20171207070910.19807.qmail@f4mail-235-81.rediffmail.com> Hi all I have some reference images acquired previously. Current images I want to register with those images. What examples of ITK I should follow Thanks & regards Prakash -------------- next part -------------- An HTML attachment was scrubbed... URL: From dzenanz at gmail.com Thu Dec 7 09:47:54 2017 From: dzenanz at gmail.com (=?UTF-8?B?RMW+ZW5hbiBadWtpxIc=?=) Date: Thu, 7 Dec 2017 09:47:54 -0500 Subject: [ITK-users] Registration In-Reply-To: <20171207070910.19807.qmail@f4mail-235-81.rediffmail.com> References: <20171207070910.19807.qmail@f4mail-235-81.rediffmail.com> Message-ID: Hi Surya, there are plenty of example for registration. You could take a look at the ones on the wiki . Regards, D?enan On Thu, Dec 7, 2017 at 2:09 AM, Surya Prakash wrote: > Hi all > I have some reference images acquired previously. Current images I want to > register with those images. What examples of ITK I should follow > > Thanks & regards > Prakash > > 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://www.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-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From blowekamp at mail.nih.gov Thu Dec 7 09:53:29 2017 From: blowekamp at mail.nih.gov (Lowekamp, Bradley (NIH/NLM/LHC) [C]) Date: Thu, 7 Dec 2017 14:53:29 +0000 Subject: [ITK-users] Registration In-Reply-To: References: <20171207070910.19807.qmail@f4mail-235-81.rediffmail.com> Message-ID: <9322219F-E5EB-4027-AF2C-34C9E4992ACB@mail.nih.gov> Hello, It sounds like you are new to ITK. You may be interested in the ITK Software Guide?s chapter on registration to learn the ITK registration framework: https://itk.org/ITKSoftwareGuide/html/Book2/ITKSoftwareGuide-Book2ch3.html#x26-980003 Also, please note that the community has transition from the mailing list to discourse.itk.org. Brad From: D?enan Zuki? Date: Thursday, December 7, 2017 at 9:49 AM To: Surya Prakash Cc: "insight-users at itk.org" Subject: Re: [ITK-users] Registration Hi Surya, there are plenty of example for registration. You could take a look at the ones on the wiki. Regards, D?enan On Thu, Dec 7, 2017 at 2:09 AM, Surya Prakash > wrote: Hi all I have some reference images acquired previously. Current images I want to register with those images. What examples of ITK I should follow Thanks & regards Prakash 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://www.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-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From dzenanz at gmail.com Sat Dec 9 10:38:55 2017 From: dzenanz at gmail.com (=?UTF-8?B?RMW+ZW5hbiBadWtpxIc=?=) Date: Sat, 9 Dec 2017 10:38:55 -0500 Subject: [ITK-users] Registration In-Reply-To: <1512745059.S.12026.18945.f4-234-219.1512804538.30937@webmail.rediffmail.com> References: <1512745059.S.12026.18945.f4-234-219.1512804538.30937@webmail.rediffmail.com> Message-ID: Hi Prakash, what you might do is create mask of your deployed antenna and save it along your reference image of the antenna. Then in field, acquire a new image, apply the mask to both reference and field images, and then do a difference. Try it with several different field images with different lighting and states of deployment of the antenna to figure out a dependence of pixel-wise difference in images and whether antenna was deployed properly. Regards, D?enan On Sat, Dec 9, 2017 at 2:28 AM, Surya Prakash wrote: > Hi D?enan > Thank you very much for your help and guidance. > The images I am working with are 2D. Camera position is fixed with respect > to Antenna. Assuming there are no variations in foreground and background. > Lighting / Illumination may differ from lab and field conditions. > In the lab, images are acquired in still condition. Even though camera is > fixed with respect to each other, the entire system is not stationary but > moving. > Waiting for your advise > > Thanks & regards > Prakash > > On Fri, 08 Dec 2017 20:27:39 +0530 D?enan Zuki? wrote > >Hi Prakash, > are the images you are working with 3D or 2D? If 2D, do they have variable > lighting, variable background, variable foreground (maybe something > obscuring the antenna)? Does the camera move relative to antenna or not? > In the simplest case (camera not moving, lighting, foreground and > background not variable) you don't need to do any registration, just > subtract the images (reference and current) and compare difference against > a threshold to judge whether the antenna deployed. And each added variable > in the imaging process makes your task much harder. > Is the camera just pivoting in a fixed position? You could get away with > translation only during registration. Camera moving and pivoting, but > pointing at the same location? You will need deformable registration, > probably with manual initialization too. And so forth. > If you want more specific advice, be more specific in your question. And > show us some example images (reference and those being examined). > And you might as well post it on discourse, more people will see it as we > moved the discussions there. > Regards,D?enan > > On Thu, Dec 7, 2017 at 11:01 PM, Surya Prakash wrote: > Hi D?enan, > > Thanks for the reply. Earlier I was using ITK and after a long gap again I > required it. Actually I am planning to use ITK for whether an antenna is > deployed properly or not. I have antenna images (reference). I want to > match the image of deployed antenna with the reference images to judge > whether it is deployed properly or not. There are two things. > > 1. If needed I should be able to register my present image with reference > image without using any control points (if possible) > > 2. Automatic change / difference between the images. > > As the example list is too vast can you please suggest what will be the > right choice for me. > > > > Thanks & regards > > Prakash > > > > > > On Thu, 07 Dec 2017 20:18:17 +0530 D?enan Zuki? wrote > > >Hi Surya, > > there are plenty of example for registration. You could take a look at the > ones on the wiki. > > Regards,D?enan > > On Thu, Dec 7, 2017 at 2:09 AM, Surya Prakash wrote: > > Hi all > > > > I have some reference images acquired previously. Current images I want to > register with those images. What examples of ITK I should follow > > > > > > > > Thanks & regards > > > > Prakash > > > > 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://www.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-users > > > > > > > > > > > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From g.bogle at auckland.ac.nz Mon Dec 11 22:44:45 2017 From: g.bogle at auckland.ac.nz (Gib Bogle) Date: Tue, 12 Dec 2017 03:44:45 +0000 Subject: [ITK-users] Getting info from a very big image file Message-ID: <1513050281429.78450@auckland.ac.nz> Hello, I am wanting to work with a 50 GB LSM file (3D). The first step is to be able to get the image info: width, height and depth. I have code that works on a small LSM file im_u16 = reader->GetOutput(); width = im_u16->GetLargestPossibleRegion().GetSize()[0]; height = im_u16->GetLargestPossibleRegion().GetSize()[1]; depth = im_u16->GetLargestPossibleRegion().GetSize()[2]; but I see that to do this the whole image must be loaded into memory. When I start the program running with the big file I can see that it is going to exceed the host machine's 32 GB. Is there a way to get the image dimensions without loading the whole image? What I am hoping to do is split the file into 2D TIFF files - is there any way to extract a 2D slice without reading the whole image? Or will I be forced to run on a machine with more than 50 GB of RAM? Thanks in advance for any suggestions. Best regards Gib -------------- next part -------------- An HTML attachment was scrubbed... URL: From richard.beare at gmail.com Mon Dec 11 22:52:51 2017 From: richard.beare at gmail.com (Richard Beare) Date: Tue, 12 Dec 2017 14:52:51 +1100 Subject: [ITK-users] Getting info from a very big image file In-Reply-To: <1513050281429.78450@auckland.ac.nz> References: <1513050281429.78450@auckland.ac.nz> Message-ID: You can do stuff like this: On Tue, Dec 12, 2017 at 2:44 PM, Gib Bogle wrote: > Hello, > > > I am wanting to work with a 50 GB LSM file (3D). The first step is to be > able to get the image info: width, height and depth. I have code that > works on a small LSM file > > > im_u16 = reader->GetOutput(); > width = im_u16->GetLargestPossibleRegion().GetSize()[0]; > height = im_u16->GetLargestPossibleRegion().GetSize()[1]; > depth = im_u16->GetLargestPossibleRegion().GetSize()[2]; > > > but I see that to do this the whole image must be loaded into memory. > When I start the program running with the big file I can see that it is > going to exceed the host machine's 32 GB. Is there a way to get the image > dimensions without loading the whole image? What I am hoping to do is > split the file into 2D TIFF files - is there any way to extract a 2D slice > without reading the whole image? Or will I be forced to run on a machine > with more than 50 GB of RAM? > > > Thanks in advance for any suggestions. > > > Best regards > > Gib > > 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://www.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-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From matt.mccormick at kitware.com Mon Dec 11 22:55:56 2017 From: matt.mccormick at kitware.com (Matt McCormick) Date: Mon, 11 Dec 2017 22:55:56 -0500 Subject: [ITK-users] Getting info from a very big image file In-Reply-To: <1513050281429.78450@auckland.ac.nz> References: <1513050281429.78450@auckland.ac.nz> Message-ID: Hi Gib, Call reader->UpdateOutputInformation(); instead of reader->Update(); to get the LargestPossibleRegion populated without loading the pixel buffer. The image IO has to support streaming to read in only a RequestedRegion -- unfortunately, I do not think the LSMImageIO supports this at this time. HTH, Matt On Mon, Dec 11, 2017 at 10:44 PM, Gib Bogle wrote: > Hello, > > > I am wanting to work with a 50 GB LSM file (3D). The first step is to be > able to get the image info: width, height and depth. I have code that works > on a small LSM file > > > im_u16 = reader->GetOutput(); > width = im_u16->GetLargestPossibleRegion().GetSize()[0]; > height = im_u16->GetLargestPossibleRegion().GetSize()[1]; > depth = im_u16->GetLargestPossibleRegion().GetSize()[2]; > > > but I see that to do this the whole image must be loaded into memory. When > I start the program running with the big file I can see that it is going to > exceed the host machine's 32 GB. Is there a way to get the image dimensions > without loading the whole image? What I am hoping to do is split the file > into 2D TIFF files - is there any way to extract a 2D slice without reading > the whole image? Or will I be forced to run on a machine with more than 50 > GB of RAM? > > > Thanks in advance for any suggestions. > > > Best regards > > Gib > > > 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://www.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-users > From blowekamp at mail.nih.gov Tue Dec 12 09:51:16 2017 From: blowekamp at mail.nih.gov (Lowekamp, Bradley (NIH/NLM/LHC) [C]) Date: Tue, 12 Dec 2017 14:51:16 +0000 Subject: [ITK-users] [ITK] Getting info from a very big image file In-Reply-To: References: <1513050281429.78450@auckland.ac.nz> Message-ID: Gib, I have not tested this, but the LSMImageIO is derived from the TIFFImageIO, and LSMImageIO::Read does just call TIFFImageIO. So the chances are very good that it supports streamed reading. I updated the TIFFImageIO to support stream reading of the individual pages in the TIFF stack some time ago. You may find the following example useful to determining if the functionality is there: https://github.com/InsightSoftwareConsortium/ITK/blob/master/Examples/IO/ImageReadExtractWrite.cxx You can see the usage of ?UpdateOutputInformation? followed by the ExtractImageFilter, this can be a very powerful and efficient pattern for working with large images. The ExtractImageFilter can be used to create a 3D to 2D image from it?s input volume. Brad On 12/11/17, 10:56 PM, "Matt McCormick" wrote: Hi Gib, Call reader->UpdateOutputInformation(); instead of reader->Update(); to get the LargestPossibleRegion populated without loading the pixel buffer. The image IO has to support streaming to read in only a RequestedRegion -- unfortunately, I do not think the LSMImageIO supports this at this time. HTH, Matt On Mon, Dec 11, 2017 at 10:44 PM, Gib Bogle wrote: > Hello, > > > I am wanting to work with a 50 GB LSM file (3D). The first step is to be > able to get the image info: width, height and depth. I have code that works > on a small LSM file > > > im_u16 = reader->GetOutput(); > width = im_u16->GetLargestPossibleRegion().GetSize()[0]; > height = im_u16->GetLargestPossibleRegion().GetSize()[1]; > depth = im_u16->GetLargestPossibleRegion().GetSize()[2]; > > > but I see that to do this the whole image must be loaded into memory. When > I start the program running with the big file I can see that it is going to > exceed the host machine's 32 GB. Is there a way to get the image dimensions > without loading the whole image? What I am hoping to do is split the file > into 2D TIFF files - is there any way to extract a 2D slice without reading > the whole image? Or will I be forced to run on a machine with more than 50 > GB of RAM? > > > Thanks in advance for any suggestions. > > > Best regards > > Gib > > > 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://www.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-users > 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://www.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-users The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________________ Community mailing list Community at itk.org http://public.kitware.com/mailman/listinfo/community From g.bogle at auckland.ac.nz Tue Dec 12 18:36:42 2017 From: g.bogle at auckland.ac.nz (Gib Bogle) Date: Tue, 12 Dec 2017 23:36:42 +0000 Subject: [ITK-users] [ITK] Getting info from a very big image file In-Reply-To: References: <1513050281429.78450@auckland.ac.nz> , Message-ID: <1513121796401.40762@auckland.ac.nz> Thanks Brad. The situation is complicated by the fact that there are 3 channels (three colours). Tiffsplit is able to split the file into 396 127 MB TIFFs and 396 thumbnail TIFFs. Irfanview can open one of the TIFFs, and it tells me that it is 4656x4656 and 48 bitsperpixel. That is, it contains 3 16-bit images of that size. Nothing is displayed in Irfanview - I'm rather surprised that it could open it at all. I'll try using that example, but the double complication of the included thumbnails and the 3 colours might stymie it. Cheers, Gib ________________________________________ From: Lowekamp, Bradley (NIH/NLM/LHC) [C] Sent: Wednesday, 13 December 2017 3:51 a.m. To: Matt McCormick; Gib Bogle Cc: insight-users at itk.org Subject: Re: [ITK] [ITK-users] Getting info from a very big image file Gib, I have not tested this, but the LSMImageIO is derived from the TIFFImageIO, and LSMImageIO::Read does just call TIFFImageIO. So the chances are very good that it supports streamed reading. I updated the TIFFImageIO to support stream reading of the individual pages in the TIFF stack some time ago. You may find the following example useful to determining if the functionality is there: https://github.com/InsightSoftwareConsortium/ITK/blob/master/Examples/IO/ImageReadExtractWrite.cxx You can see the usage of ?UpdateOutputInformation? followed by the ExtractImageFilter, this can be a very powerful and efficient pattern for working with large images. The ExtractImageFilter can be used to create a 3D to 2D image from it?s input volume. Brad On 12/11/17, 10:56 PM, "Matt McCormick" wrote: Hi Gib, Call reader->UpdateOutputInformation(); instead of reader->Update(); to get the LargestPossibleRegion populated without loading the pixel buffer. The image IO has to support streaming to read in only a RequestedRegion -- unfortunately, I do not think the LSMImageIO supports this at this time. HTH, Matt On Mon, Dec 11, 2017 at 10:44 PM, Gib Bogle wrote: > Hello, > > > I am wanting to work with a 50 GB LSM file (3D). The first step is to be > able to get the image info: width, height and depth. I have code that works > on a small LSM file > > > im_u16 = reader->GetOutput(); > width = im_u16->GetLargestPossibleRegion().GetSize()[0]; > height = im_u16->GetLargestPossibleRegion().GetSize()[1]; > depth = im_u16->GetLargestPossibleRegion().GetSize()[2]; > > > but I see that to do this the whole image must be loaded into memory. When > I start the program running with the big file I can see that it is going to > exceed the host machine's 32 GB. Is there a way to get the image dimensions > without loading the whole image? What I am hoping to do is split the file > into 2D TIFF files - is there any way to extract a 2D slice without reading > the whole image? Or will I be forced to run on a machine with more than 50 > GB of RAM? > > > Thanks in advance for any suggestions. > > > Best regards > > Gib > > > 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://www.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-users > 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://www.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-users The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________________ Community mailing list Community at itk.org http://public.kitware.com/mailman/listinfo/community From dzenanz at gmail.com Tue Dec 12 22:22:41 2017 From: dzenanz at gmail.com (=?UTF-8?B?RMW+ZW5hbiBadWtpxIc=?=) Date: Tue, 12 Dec 2017 22:22:41 -0500 Subject: [ITK-users] [ITK] Getting info from a very big image file In-Reply-To: <1513121796401.40762@auckland.ac.nz> References: <1513050281429.78450@auckland.ac.nz> <1513121796401.40762@auckland.ac.nz> Message-ID: Why don't you try reading it with: tyepdef RGBPixel PixelType; Embedded thumbnails might be ignored by the reader, it is definitely worth a shot trying Brad's suggestion. Regards, D?enan On Tue, Dec 12, 2017 at 6:36 PM, Gib Bogle wrote: > Thanks Brad. The situation is complicated by the fact that there are 3 > channels (three colours). Tiffsplit is able to split the file into 396 127 > MB TIFFs and 396 thumbnail TIFFs. Irfanview can open one of the TIFFs, and > it tells me that it is 4656x4656 and 48 bitsperpixel. That is, it contains > 3 16-bit images of that size. Nothing is displayed in Irfanview - I'm > rather surprised that it could open it at all. > I'll try using that example, but the double complication of the included > thumbnails and the 3 colours might stymie it. > > Cheers, Gib > ________________________________________ > From: Lowekamp, Bradley (NIH/NLM/LHC) [C] > Sent: Wednesday, 13 December 2017 3:51 a.m. > To: Matt McCormick; Gib Bogle > Cc: insight-users at itk.org > Subject: Re: [ITK] [ITK-users] Getting info from a very big image file > > Gib, > > I have not tested this, but the LSMImageIO is derived from the > TIFFImageIO, and LSMImageIO::Read does just call TIFFImageIO. So the > chances are very good that it supports streamed reading. > > I updated the TIFFImageIO to support stream reading of the individual > pages in the TIFF stack some time ago. > > You may find the following example useful to determining if the > functionality is there: > https://github.com/InsightSoftwareConsortium/ITK/blob/master > /Examples/IO/ImageReadExtractWrite.cxx > > > You can see the usage of ?UpdateOutputInformation? followed by the > ExtractImageFilter, this can be a very powerful and efficient pattern for > working with large images. The ExtractImageFilter can be used to create a > 3D to 2D image from it?s input volume. > > Brad > > > On 12/11/17, 10:56 PM, "Matt McCormick" > wrote: > > Hi Gib, > > Call > > reader->UpdateOutputInformation(); > > instead of > > reader->Update(); > > to get the LargestPossibleRegion populated without loading the pixel > buffer. > > > The image IO has to support streaming to read in only a > RequestedRegion -- unfortunately, I do not think the LSMImageIO > supports this at this time. > > HTH, > Matt > > On Mon, Dec 11, 2017 at 10:44 PM, Gib Bogle > wrote: > > Hello, > > > > > > I am wanting to work with a 50 GB LSM file (3D). The first step is > to be > > able to get the image info: width, height and depth. I have code > that works > > on a small LSM file > > > > > > im_u16 = reader->GetOutput(); > > width = im_u16->GetLargestPossibleRegion().GetSize()[0]; > > height = im_u16->GetLargestPossibleRegion().GetSize()[1]; > > depth = im_u16->GetLargestPossibleRegion().GetSize()[2]; > > > > > > but I see that to do this the whole image must be loaded into > memory. When > > I start the program running with the big file I can see that it is > going to > > exceed the host machine's 32 GB. Is there a way to get the image > dimensions > > without loading the whole image? What I am hoping to do is split > the file > > into 2D TIFF files - is there any way to extract a 2D slice without > reading > > the whole image? Or will I be forced to run on a machine with more > than 50 > > GB of RAM? > > > > > > Thanks in advance for any suggestions. > > > > > > Best regards > > > > Gib > > > > > > 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://www.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-users > > > 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://www.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-users > The ITK community is transitioning from this mailing list to > discourse.itk.org. Please join us there! > ________________________________________ > Community mailing list > Community at itk.org > http://public.kitware.com/mailman/listinfo/community > > > 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://www.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-users > -------------- next part -------------- An HTML attachment was scrubbed... URL: From g.bogle at auckland.ac.nz Tue Dec 12 23:57:59 2017 From: g.bogle at auckland.ac.nz (Gib Bogle) Date: Wed, 13 Dec 2017 04:57:59 +0000 Subject: [ITK-users] [ITK] Getting info from a very big image file In-Reply-To: References: <1513050281429.78450@auckland.ac.nz> <1513121796401.40762@auckland.ac.nz>, Message-ID: <1513141073170.67673@auckland.ac.nz> Hi Dzenan, I did: #include "itkRGBPixel.h" typedef RGBPixel PixelType; but VS2010 tells me "Error: RGBPixel is not a template" Cheers, Gib ________________________________ From: D?enan Zuki? Sent: Wednesday, 13 December 2017 4:22 p.m. To: Gib Bogle Cc: Lowekamp, Bradley (NIH/NLM/LHC) [C]; Matt McCormick; insight-users at itk.org Subject: Re: [ITK-users] [ITK] Getting info from a very big image file Why don't you try reading it with: tyepdef RGBPixel PixelType; Embedded thumbnails might be ignored by the reader, it is definitely worth a shot trying Brad's suggestion. Regards, D?enan On Tue, Dec 12, 2017 at 6:36 PM, Gib Bogle > wrote: Thanks Brad. The situation is complicated by the fact that there are 3 channels (three colours). Tiffsplit is able to split the file into 396 127 MB TIFFs and 396 thumbnail TIFFs. Irfanview can open one of the TIFFs, and it tells me that it is 4656x4656 and 48 bitsperpixel. That is, it contains 3 16-bit images of that size. Nothing is displayed in Irfanview - I'm rather surprised that it could open it at all. I'll try using that example, but the double complication of the included thumbnails and the 3 colours might stymie it. Cheers, Gib ________________________________________ From: Lowekamp, Bradley (NIH/NLM/LHC) [C] > Sent: Wednesday, 13 December 2017 3:51 a.m. To: Matt McCormick; Gib Bogle Cc: insight-users at itk.org Subject: Re: [ITK] [ITK-users] Getting info from a very big image file Gib, I have not tested this, but the LSMImageIO is derived from the TIFFImageIO, and LSMImageIO::Read does just call TIFFImageIO. So the chances are very good that it supports streamed reading. I updated the TIFFImageIO to support stream reading of the individual pages in the TIFF stack some time ago. You may find the following example useful to determining if the functionality is there: https://github.com/InsightSoftwareConsortium/ITK/blob/master/Examples/IO/ImageReadExtractWrite.cxx You can see the usage of ?UpdateOutputInformation? followed by the ExtractImageFilter, this can be a very powerful and efficient pattern for working with large images. The ExtractImageFilter can be used to create a 3D to 2D image from it?s input volume. Brad On 12/11/17, 10:56 PM, "Matt McCormick" > wrote: Hi Gib, Call reader->UpdateOutputInformation(); instead of reader->Update(); to get the LargestPossibleRegion populated without loading the pixel buffer. The image IO has to support streaming to read in only a RequestedRegion -- unfortunately, I do not think the LSMImageIO supports this at this time. HTH, Matt On Mon, Dec 11, 2017 at 10:44 PM, Gib Bogle > wrote: > Hello, > > > I am wanting to work with a 50 GB LSM file (3D). The first step is to be > able to get the image info: width, height and depth. I have code that works > on a small LSM file > > > im_u16 = reader->GetOutput(); > width = im_u16->GetLargestPossibleRegion().GetSize()[0]; > height = im_u16->GetLargestPossibleRegion().GetSize()[1]; > depth = im_u16->GetLargestPossibleRegion().GetSize()[2]; > > > but I see that to do this the whole image must be loaded into memory. When > I start the program running with the big file I can see that it is going to > exceed the host machine's 32 GB. Is there a way to get the image dimensions > without loading the whole image? What I am hoping to do is split the file > into 2D TIFF files - is there any way to extract a 2D slice without reading > the whole image? Or will I be forced to run on a machine with more than 50 > GB of RAM? > > > Thanks in advance for any suggestions. > > > Best regards > > Gib > > > 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://www.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-users > 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://www.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-users The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________________ Community mailing list Community at itk.org http://public.kitware.com/mailman/listinfo/community 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://www.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-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From g.bogle at auckland.ac.nz Wed Dec 13 00:46:46 2017 From: g.bogle at auckland.ac.nz (Gib Bogle) Date: Wed, 13 Dec 2017 05:46:46 +0000 Subject: [ITK-users] [ITK] Getting info from a very big image file In-Reply-To: <1513141073170.67673@auckland.ac.nz> References: <1513050281429.78450@auckland.ac.nz> <1513121796401.40762@auckland.ac.nz>, , <1513141073170.67673@auckland.ac.nz> Message-ID: <1513143999908.93478@auckland.ac.nz> I just needed to put "itk::" before RGBPixel. I still don't know how to get the R, G and B channels. Are they in separate buffers? ________________________________ From: Insight-users on behalf of Gib Bogle Sent: Wednesday, 13 December 2017 5:57 p.m. To: D?enan Zuki? Cc: insight-users at itk.org Subject: [FORGED] Re: [ITK-users] [ITK] Getting info from a very big image file Hi Dzenan, I did: #include "itkRGBPixel.h" typedef RGBPixel PixelType; but VS2010 tells me "Error: RGBPixel is not a template" Cheers, Gib ________________________________ From: D?enan Zuki? Sent: Wednesday, 13 December 2017 4:22 p.m. To: Gib Bogle Cc: Lowekamp, Bradley (NIH/NLM/LHC) [C]; Matt McCormick; insight-users at itk.org Subject: Re: [ITK-users] [ITK] Getting info from a very big image file Why don't you try reading it with: tyepdef RGBPixel PixelType; Embedded thumbnails might be ignored by the reader, it is definitely worth a shot trying Brad's suggestion. Regards, D?enan On Tue, Dec 12, 2017 at 6:36 PM, Gib Bogle > wrote: Thanks Brad. The situation is complicated by the fact that there are 3 channels (three colours). Tiffsplit is able to split the file into 396 127 MB TIFFs and 396 thumbnail TIFFs. Irfanview can open one of the TIFFs, and it tells me that it is 4656x4656 and 48 bitsperpixel. That is, it contains 3 16-bit images of that size. Nothing is displayed in Irfanview - I'm rather surprised that it could open it at all. I'll try using that example, but the double complication of the included thumbnails and the 3 colours might stymie it. Cheers, Gib ________________________________________ From: Lowekamp, Bradley (NIH/NLM/LHC) [C] > Sent: Wednesday, 13 December 2017 3:51 a.m. To: Matt McCormick; Gib Bogle Cc: insight-users at itk.org Subject: Re: [ITK] [ITK-users] Getting info from a very big image file Gib, I have not tested this, but the LSMImageIO is derived from the TIFFImageIO, and LSMImageIO::Read does just call TIFFImageIO. So the chances are very good that it supports streamed reading. I updated the TIFFImageIO to support stream reading of the individual pages in the TIFF stack some time ago. You may find the following example useful to determining if the functionality is there: https://github.com/InsightSoftwareConsortium/ITK/blob/master/Examples/IO/ImageReadExtractWrite.cxx You can see the usage of ?UpdateOutputInformation? followed by the ExtractImageFilter, this can be a very powerful and efficient pattern for working with large images. The ExtractImageFilter can be used to create a 3D to 2D image from it?s input volume. Brad On 12/11/17, 10:56 PM, "Matt McCormick" > wrote: Hi Gib, Call reader->UpdateOutputInformation(); instead of reader->Update(); to get the LargestPossibleRegion populated without loading the pixel buffer. The image IO has to support streaming to read in only a RequestedRegion -- unfortunately, I do not think the LSMImageIO supports this at this time. HTH, Matt On Mon, Dec 11, 2017 at 10:44 PM, Gib Bogle > wrote: > Hello, > > > I am wanting to work with a 50 GB LSM file (3D). The first step is to be > able to get the image info: width, height and depth. I have code that works > on a small LSM file > > > im_u16 = reader->GetOutput(); > width = im_u16->GetLargestPossibleRegion().GetSize()[0]; > height = im_u16->GetLargestPossibleRegion().GetSize()[1]; > depth = im_u16->GetLargestPossibleRegion().GetSize()[2]; > > > but I see that to do this the whole image must be loaded into memory. When > I start the program running with the big file I can see that it is going to > exceed the host machine's 32 GB. Is there a way to get the image dimensions > without loading the whole image? What I am hoping to do is split the file > into 2D TIFF files - is there any way to extract a 2D slice without reading > the whole image? Or will I be forced to run on a machine with more than 50 > GB of RAM? > > > Thanks in advance for any suggestions. > > > Best regards > > Gib > > > 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://www.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-users > 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://www.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-users The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________________ Community mailing list Community at itk.org http://public.kitware.com/mailman/listinfo/community 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://www.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-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From g.bogle at auckland.ac.nz Wed Dec 13 01:46:39 2017 From: g.bogle at auckland.ac.nz (Gib Bogle) Date: Wed, 13 Dec 2017 06:46:39 +0000 Subject: [ITK-users] [ITK] Getting info from a very big image file In-Reply-To: <1513143999908.93478@auckland.ac.nz> References: <1513050281429.78450@auckland.ac.nz> <1513121796401.40762@auckland.ac.nz>, , <1513141073170.67673@auckland.ac.nz>,<1513143999908.93478@auckland.ac.nz> Message-ID: <1513147592844.52822@auckland.ac.nz> This runs, but I don't believe it, because it gives maximum R, G and B values of 16. I've looked at this tiff in ImageJ, and there is a bright image in every channel. The channel data is 12-bit, stored in 16 bits. I'd be very grateful if somebody could point out what I'm doing wrong. typedef itk::RGBPixel PixelType; typedef itk::Image ImageType_u16; ImageType_u16::Pointer im_u16; PixelType::ValueType *p_u16; typedef itk::ImageFileReader ReaderType; ReaderType::Pointer reader = ReaderType::New(); reader->SetFileName(filename); reader->Update(); im_u16 = reader->GetOutput(); int width = im_u16->GetLargestPossibleRegion().GetSize()[0]; int height = im_u16->GetLargestPossibleRegion().GetSize()[1]; int depth = im_u16->GetLargestPossibleRegion().GetSize()[2]; printf("Image dimensions: width, height: %d %d\n",width,height); p_u16 = (unsigned short *)(im_u16->GetBufferPointer()); ImageType_u16::IndexType pixelIndex; unsigned short rmax = 0; unsigned short gmax = 0; unsigned short bmax = 0; for (int x=0; xGetPixel(pixelIndex); unsigned short r = val.GetRed(); unsigned short g = val.GetGreen(); unsigned short b = val.GetBlue(); rmax = std::max(r,rmax); gmax = std::max(g,gmax); bmax = std::max(b,bmax); // printf("R G B: %d %d %d\n",r,g,b); } } printf("max: R, G, B: %d %d %d\n",rmax,gmax,bmax); ________________________________ From: Insight-users on behalf of Gib Bogle Sent: Wednesday, 13 December 2017 6:46 p.m. To: D?enan Zuki? Cc: insight-users at itk.org Subject: [FORGED] Re: [ITK-users] [ITK] Getting info from a very big image file I just needed to put "itk::" before RGBPixel. I still don't know how to get the R, G and B channels. Are they in separate buffers? ________________________________ From: Insight-users on behalf of Gib Bogle Sent: Wednesday, 13 December 2017 5:57 p.m. To: D?enan Zuki? Cc: insight-users at itk.org Subject: [FORGED] Re: [ITK-users] [ITK] Getting info from a very big image file Hi Dzenan, I did: #include "itkRGBPixel.h" typedef RGBPixel PixelType; but VS2010 tells me "Error: RGBPixel is not a template" Cheers, Gib ________________________________ From: D?enan Zuki? Sent: Wednesday, 13 December 2017 4:22 p.m. To: Gib Bogle Cc: Lowekamp, Bradley (NIH/NLM/LHC) [C]; Matt McCormick; insight-users at itk.org Subject: Re: [ITK-users] [ITK] Getting info from a very big image file Why don't you try reading it with: tyepdef RGBPixel PixelType; Embedded thumbnails might be ignored by the reader, it is definitely worth a shot trying Brad's suggestion. Regards, D?enan On Tue, Dec 12, 2017 at 6:36 PM, Gib Bogle > wrote: Thanks Brad. The situation is complicated by the fact that there are 3 channels (three colours). Tiffsplit is able to split the file into 396 127 MB TIFFs and 396 thumbnail TIFFs. Irfanview can open one of the TIFFs, and it tells me that it is 4656x4656 and 48 bitsperpixel. That is, it contains 3 16-bit images of that size. Nothing is displayed in Irfanview - I'm rather surprised that it could open it at all. I'll try using that example, but the double complication of the included thumbnails and the 3 colours might stymie it. Cheers, Gib ________________________________________ From: Lowekamp, Bradley (NIH/NLM/LHC) [C] > Sent: Wednesday, 13 December 2017 3:51 a.m. To: Matt McCormick; Gib Bogle Cc: insight-users at itk.org Subject: Re: [ITK] [ITK-users] Getting info from a very big image file Gib, I have not tested this, but the LSMImageIO is derived from the TIFFImageIO, and LSMImageIO::Read does just call TIFFImageIO. So the chances are very good that it supports streamed reading. I updated the TIFFImageIO to support stream reading of the individual pages in the TIFF stack some time ago. You may find the following example useful to determining if the functionality is there: https://github.com/InsightSoftwareConsortium/ITK/blob/master/Examples/IO/ImageReadExtractWrite.cxx You can see the usage of "UpdateOutputInformation" followed by the ExtractImageFilter, this can be a very powerful and efficient pattern for working with large images. The ExtractImageFilter can be used to create a 3D to 2D image from it's input volume. Brad On 12/11/17, 10:56 PM, "Matt McCormick" > wrote: Hi Gib, Call reader->UpdateOutputInformation(); instead of reader->Update(); to get the LargestPossibleRegion populated without loading the pixel buffer. The image IO has to support streaming to read in only a RequestedRegion -- unfortunately, I do not think the LSMImageIO supports this at this time. HTH, Matt On Mon, Dec 11, 2017 at 10:44 PM, Gib Bogle > wrote: > Hello, > > > I am wanting to work with a 50 GB LSM file (3D). The first step is to be > able to get the image info: width, height and depth. I have code that works > on a small LSM file > > > im_u16 = reader->GetOutput(); > width = im_u16->GetLargestPossibleRegion().GetSize()[0]; > height = im_u16->GetLargestPossibleRegion().GetSize()[1]; > depth = im_u16->GetLargestPossibleRegion().GetSize()[2]; > > > but I see that to do this the whole image must be loaded into memory. When > I start the program running with the big file I can see that it is going to > exceed the host machine's 32 GB. Is there a way to get the image dimensions > without loading the whole image? What I am hoping to do is split the file > into 2D TIFF files - is there any way to extract a 2D slice without reading > the whole image? Or will I be forced to run on a machine with more than 50 > GB of RAM? > > > Thanks in advance for any suggestions. > > > Best regards > > Gib > > > 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://www.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-users > 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://www.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-users The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________________ Community mailing list Community at itk.org http://public.kitware.com/mailman/listinfo/community 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://www.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-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From richard.beare at gmail.com Wed Dec 13 01:57:13 2017 From: richard.beare at gmail.com (Richard Beare) Date: Wed, 13 Dec 2017 17:57:13 +1100 Subject: [ITK-users] [ITK] Getting info from a very big image file In-Reply-To: <1513143999908.93478@auckland.ac.nz> References: <1513050281429.78450@auckland.ac.nz> <1513121796401.40762@auckland.ac.nz> <1513141073170.67673@auckland.ac.nz> <1513143999908.93478@auckland.ac.nz> Message-ID: I guess there are a number of things you might want to check out. 1) Viewers that can handle 16 bit colour channels in tiffs - my guesses would be itksnap, imageJ. Looks like you've succeeded with imageJ 2) Extracting a single channel - VectorImageToImageAdaptor Can't see what is wrong with your code, but check the minimum as well, and also confirm the pixel type with tiffinfo - perhaps it is signed? On Wed, Dec 13, 2017 at 4:46 PM, Gib Bogle wrote: > I just needed to put "itk::" before RGBPixel. I still don't know how to > get the R, G and B channels. Are they in separate buffers? > ------------------------------ > *From:* Insight-users on behalf of Gib > Bogle > *Sent:* Wednesday, 13 December 2017 5:57 p.m. > *To:* D?enan Zuki? > *Cc:* insight-users at itk.org > *Subject:* [FORGED] Re: [ITK-users] [ITK] Getting info from a very big > image file > > > Hi Dzenan, > > > I did: > > #include "itkRGBPixel.h" > > typedef RGBPixel PixelType; > > but VS2010 tells me "Error: RGBPixel is not a template" > > > Cheers, Gib > ------------------------------ > *From:* D?enan Zuki? > *Sent:* Wednesday, 13 December 2017 4:22 p.m. > *To:* Gib Bogle > *Cc:* Lowekamp, Bradley (NIH/NLM/LHC) [C]; Matt McCormick; > insight-users at itk.org > *Subject:* Re: [ITK-users] [ITK] Getting info from a very big image file > > Why don't you try reading it with: > tyepdef RGBPixel PixelType; > > Embedded thumbnails might be ignored by the reader, it is definitely worth > a shot trying Brad's suggestion. > > Regards, > D?enan > > On Tue, Dec 12, 2017 at 6:36 PM, Gib Bogle wrote: > >> Thanks Brad. The situation is complicated by the fact that there are 3 >> channels (three colours). Tiffsplit is able to split the file into 396 127 >> MB TIFFs and 396 thumbnail TIFFs. Irfanview can open one of the TIFFs, and >> it tells me that it is 4656x4656 and 48 bitsperpixel. That is, it contains >> 3 16-bit images of that size. Nothing is displayed in Irfanview - I'm >> rather surprised that it could open it at all. >> I'll try using that example, but the double complication of the included >> thumbnails and the 3 colours might stymie it. >> >> Cheers, Gib >> ________________________________________ >> From: Lowekamp, Bradley (NIH/NLM/LHC) [C] >> Sent: Wednesday, 13 December 2017 3:51 a.m. >> To: Matt McCormick; Gib Bogle >> Cc: insight-users at itk.org >> Subject: Re: [ITK] [ITK-users] Getting info from a very big image file >> >> Gib, >> >> I have not tested this, but the LSMImageIO is derived from the >> TIFFImageIO, and LSMImageIO::Read does just call TIFFImageIO. So the >> chances are very good that it supports streamed reading. >> >> I updated the TIFFImageIO to support stream reading of the individual >> pages in the TIFF stack some time ago. >> >> You may find the following example useful to determining if the >> functionality is there: >> https://github.com/InsightSoftwareConsortium/ITK/blob/master >> /Examples/IO/ImageReadExtractWrite.cxx >> >> >> You can see the usage of ?UpdateOutputInformation? followed by the >> ExtractImageFilter, this can be a very powerful and efficient pattern for >> working with large images. The ExtractImageFilter can be used to create a >> 3D to 2D image from it?s input volume. >> >> Brad >> >> >> On 12/11/17, 10:56 PM, "Matt McCormick" >> wrote: >> >> Hi Gib, >> >> Call >> >> reader->UpdateOutputInformation(); >> >> instead of >> >> reader->Update(); >> >> to get the LargestPossibleRegion populated without loading the pixel >> buffer. >> >> >> The image IO has to support streaming to read in only a >> RequestedRegion -- unfortunately, I do not think the LSMImageIO >> supports this at this time. >> >> HTH, >> Matt >> >> On Mon, Dec 11, 2017 at 10:44 PM, Gib Bogle >> wrote: >> > Hello, >> > >> > >> > I am wanting to work with a 50 GB LSM file (3D). The first step is >> to be >> > able to get the image info: width, height and depth. I have code >> that works >> > on a small LSM file >> > >> > >> > im_u16 = reader->GetOutput(); >> > width = im_u16->GetLargestPossibleRegion().GetSize()[0]; >> > height = im_u16->GetLargestPossibleRegion().GetSize()[1]; >> > depth = im_u16->GetLargestPossibleRegion().GetSize()[2]; >> > >> > >> > but I see that to do this the whole image must be loaded into >> memory. When >> > I start the program running with the big file I can see that it is >> going to >> > exceed the host machine's 32 GB. Is there a way to get the image >> dimensions >> > without loading the whole image? What I am hoping to do is split >> the file >> > into 2D TIFF files - is there any way to extract a 2D slice without >> reading >> > the whole image? Or will I be forced to run on a machine with >> more than 50 >> > GB of RAM? >> > >> > >> > Thanks in advance for any suggestions. >> > >> > >> > Best regards >> > >> > Gib >> > >> > >> > 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://www.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-users >> > >> 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://www.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-users >> The ITK community is transitioning from this mailing list to >> discourse.itk.org. Please join us there! >> ________________________________________ >> Community mailing list >> Community at itk.org >> http://public.kitware.com/mailman/listinfo/community >> >> >> 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://www.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-users >> > > > 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://www.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-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From g.bogle at auckland.ac.nz Wed Dec 13 16:22:20 2017 From: g.bogle at auckland.ac.nz (Gib Bogle) Date: Wed, 13 Dec 2017 21:22:20 +0000 Subject: [ITK-users] [ITK] Getting info from a very big image file In-Reply-To: References: <1513050281429.78450@auckland.ac.nz> <1513121796401.40762@auckland.ac.nz> <1513141073170.67673@auckland.ac.nz> <1513143999908.93478@auckland.ac.nz>, Message-ID: <1513200132513.88327@auckland.ac.nz> I modified the VectorImageToImageAdaptor example to get this: typedef itk::RGBPixel PixelType; typedef itk::VectorImage ImageType_u16; ImageType_u16::Pointer image; typedef itk::ImageFileReader ReaderType; ReaderType::Pointer reader = ReaderType::New(); reader->SetFileName(filename); reader->Update(); image = reader->GetOutput(); int width = image->GetLargestPossibleRegion().GetSize()[0]; int height = image->GetLargestPossibleRegion().GetSize()[1]; int depth = image->GetLargestPossibleRegion().GetSize()[2]; printf("Image dimensions: width, height: %d %d\n",width,height); printf("NumberOfComponentsPerPixel: %d\n", image->GetNumberOfComponentsPerPixel()); typedef itk::VectorImageToImageAdaptor ImageAdaptorType; ImageAdaptorType::Pointer adaptor = ImageAdaptorType::New(); adaptor->SetExtractComponentIndex(0); adaptor->SetImage(image); itk::Index<2> index; index[0] = 3084; index[1] = 3072; std::cout << adaptor->GetPixel(index) << std::endl; The size of the image is reported correctly (4656x4656) but although the number of components is shown as 4, GetPixel returns three values (2 0 0), at a location where I know (from ImageJ) that the green channel has a pixel value of more than 2000. ________________________________ From: Richard Beare Sent: Wednesday, 13 December 2017 7:57 p.m. To: Gib Bogle Cc: D?enan Zuki?; insight-users at itk.org Subject: Re: [ITK-users] [ITK] Getting info from a very big image file I guess there are a number of things you might want to check out. 1) Viewers that can handle 16 bit colour channels in tiffs - my guesses would be itksnap, imageJ. Looks like you've succeeded with imageJ 2) Extracting a single channel - VectorImageToImageAdaptor Can't see what is wrong with your code, but check the minimum as well, and also confirm the pixel type with tiffinfo - perhaps it is signed? On Wed, Dec 13, 2017 at 4:46 PM, Gib Bogle > wrote: I just needed to put "itk::" before RGBPixel. I still don't know how to get the R, G and B channels. Are they in separate buffers? ________________________________ From: Insight-users > on behalf of Gib Bogle > Sent: Wednesday, 13 December 2017 5:57 p.m. To: D?enan Zuki? Cc: insight-users at itk.org Subject: [FORGED] Re: [ITK-users] [ITK] Getting info from a very big image file Hi Dzenan, I did: #include "itkRGBPixel.h" typedef RGBPixel PixelType; but VS2010 tells me "Error: RGBPixel is not a template" Cheers, Gib ________________________________ From: D?enan Zuki? > Sent: Wednesday, 13 December 2017 4:22 p.m. To: Gib Bogle Cc: Lowekamp, Bradley (NIH/NLM/LHC) [C]; Matt McCormick; insight-users at itk.org Subject: Re: [ITK-users] [ITK] Getting info from a very big image file Why don't you try reading it with: tyepdef RGBPixel PixelType; Embedded thumbnails might be ignored by the reader, it is definitely worth a shot trying Brad's suggestion. Regards, D?enan On Tue, Dec 12, 2017 at 6:36 PM, Gib Bogle > wrote: Thanks Brad. The situation is complicated by the fact that there are 3 channels (three colours). Tiffsplit is able to split the file into 396 127 MB TIFFs and 396 thumbnail TIFFs. Irfanview can open one of the TIFFs, and it tells me that it is 4656x4656 and 48 bitsperpixel. That is, it contains 3 16-bit images of that size. Nothing is displayed in Irfanview - I'm rather surprised that it could open it at all. I'll try using that example, but the double complication of the included thumbnails and the 3 colours might stymie it. Cheers, Gib ________________________________________ From: Lowekamp, Bradley (NIH/NLM/LHC) [C] > Sent: Wednesday, 13 December 2017 3:51 a.m. To: Matt McCormick; Gib Bogle Cc: insight-users at itk.org Subject: Re: [ITK] [ITK-users] Getting info from a very big image file Gib, I have not tested this, but the LSMImageIO is derived from the TIFFImageIO, and LSMImageIO::Read does just call TIFFImageIO. So the chances are very good that it supports streamed reading. I updated the TIFFImageIO to support stream reading of the individual pages in the TIFF stack some time ago. You may find the following example useful to determining if the functionality is there: https://github.com/InsightSoftwareConsortium/ITK/blob/master/Examples/IO/ImageReadExtractWrite.cxx You can see the usage of ?UpdateOutputInformation? followed by the ExtractImageFilter, this can be a very powerful and efficient pattern for working with large images. The ExtractImageFilter can be used to create a 3D to 2D image from it?s input volume. Brad On 12/11/17, 10:56 PM, "Matt McCormick" > wrote: Hi Gib, Call reader->UpdateOutputInformation(); instead of reader->Update(); to get the LargestPossibleRegion populated without loading the pixel buffer. The image IO has to support streaming to read in only a RequestedRegion -- unfortunately, I do not think the LSMImageIO supports this at this time. HTH, Matt On Mon, Dec 11, 2017 at 10:44 PM, Gib Bogle > wrote: > Hello, > > > I am wanting to work with a 50 GB LSM file (3D). The first step is to be > able to get the image info: width, height and depth. I have code that works > on a small LSM file > > > im_u16 = reader->GetOutput(); > width = im_u16->GetLargestPossibleRegion().GetSize()[0]; > height = im_u16->GetLargestPossibleRegion().GetSize()[1]; > depth = im_u16->GetLargestPossibleRegion().GetSize()[2]; > > > but I see that to do this the whole image must be loaded into memory. When > I start the program running with the big file I can see that it is going to > exceed the host machine's 32 GB. Is there a way to get the image dimensions > without loading the whole image? What I am hoping to do is split the file > into 2D TIFF files - is there any way to extract a 2D slice without reading > the whole image? Or will I be forced to run on a machine with more than 50 > GB of RAM? > > > Thanks in advance for any suggestions. > > > Best regards > > Gib > > > 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://www.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-users > 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://www.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-users The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________________ Community mailing list Community at itk.org http://public.kitware.com/mailman/listinfo/community 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://www.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-users 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://www.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-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From richard.beare at gmail.com Wed Dec 13 16:26:18 2017 From: richard.beare at gmail.com (Richard Beare) Date: Thu, 14 Dec 2017 08:26:18 +1100 Subject: [ITK-users] [ITK] Getting info from a very big image file In-Reply-To: <1513200132513.88327@auckland.ac.nz> References: <1513050281429.78450@auckland.ac.nz> <1513121796401.40762@auckland.ac.nz> <1513141073170.67673@auckland.ac.nz> <1513143999908.93478@auckland.ac.nz> <1513200132513.88327@auckland.ac.nz> Message-ID: Strange - certainly can't see anything obvious. Might need to share a problem slice to debug further? On Thu, Dec 14, 2017 at 8:22 AM, Gib Bogle wrote: > I modified the VectorImageToImageAdaptor example to get this: > > > typedef itk::RGBPixel PixelType; > typedef itk::VectorImage ImageType_u16; > ImageType_u16::Pointer image; > > typedef itk::ImageFileReader ReaderType; > ReaderType::Pointer reader = ReaderType::New(); > reader->SetFileName(filename); > reader->Update(); > image = reader->GetOutput(); > > int width = image->GetLargestPossibleRegion().GetSize()[0]; > int height = image->GetLargestPossibleRegion().GetSize()[1]; > int depth = image->GetLargestPossibleRegion().GetSize()[2]; > printf("Image dimensions: width, height: %d %d\n",width,height); > printf("NumberOfComponentsPerPixel: %d\n", image-> > GetNumberOfComponentsPerPixel()); > > typedef itk::VectorImageToImageAdaptor ImageAdaptorType; > ImageAdaptorType::Pointer adaptor = ImageAdaptorType::New(); > adaptor->SetExtractComponentIndex(0); > adaptor->SetImage(image); > > itk::Index<2> index; > index[0] = 3084; > index[1] = 3072; > > std::cout << adaptor->GetPixel(index) << std::endl; > > > The size of the image is reported correctly (4656x4656) but although the > number of components is shown as 4, GetPixel returns three values (2 0 0), > at a location where I know (from ImageJ) that the green channel has a pixel > value of more than 2000. > ------------------------------ > *From:* Richard Beare > *Sent:* Wednesday, 13 December 2017 7:57 p.m. > *To:* Gib Bogle > *Cc:* D?enan Zuki?; insight-users at itk.org > *Subject:* Re: [ITK-users] [ITK] Getting info from a very big image file > > I guess there are a number of things you might want to check out. > 1) Viewers that can handle 16 bit colour channels in tiffs - my guesses > would be itksnap, imageJ. Looks like you've succeeded with imageJ > > 2) Extracting a single channel - VectorImageToImageAdaptor > > Can't see what is wrong with your code, but check the minimum as well, and > also confirm the pixel type with tiffinfo - perhaps it is signed? > > On Wed, Dec 13, 2017 at 4:46 PM, Gib Bogle wrote: > >> I just needed to put "itk::" before RGBPixel. I still don't know how to >> get the R, G and B channels. Are they in separate buffers? >> ------------------------------ >> *From:* Insight-users on behalf of Gib >> Bogle >> *Sent:* Wednesday, 13 December 2017 5:57 p.m. >> *To:* D?enan Zuki? >> *Cc:* insight-users at itk.org >> *Subject:* [FORGED] Re: [ITK-users] [ITK] Getting info from a very big >> image file >> >> >> Hi Dzenan, >> >> >> I did: >> >> #include "itkRGBPixel.h" >> >> typedef RGBPixel PixelType; >> >> but VS2010 tells me "Error: RGBPixel is not a template" >> >> >> Cheers, Gib >> ------------------------------ >> *From:* D?enan Zuki? >> *Sent:* Wednesday, 13 December 2017 4:22 p.m. >> *To:* Gib Bogle >> *Cc:* Lowekamp, Bradley (NIH/NLM/LHC) [C]; Matt McCormick; >> insight-users at itk.org >> *Subject:* Re: [ITK-users] [ITK] Getting info from a very big image file >> >> Why don't you try reading it with: >> tyepdef RGBPixel PixelType; >> >> Embedded thumbnails might be ignored by the reader, it is definitely >> worth a shot trying Brad's suggestion. >> >> Regards, >> D?enan >> >> On Tue, Dec 12, 2017 at 6:36 PM, Gib Bogle >> wrote: >> >>> Thanks Brad. The situation is complicated by the fact that there are 3 >>> channels (three colours). Tiffsplit is able to split the file into 396 127 >>> MB TIFFs and 396 thumbnail TIFFs. Irfanview can open one of the TIFFs, and >>> it tells me that it is 4656x4656 and 48 bitsperpixel. That is, it contains >>> 3 16-bit images of that size. Nothing is displayed in Irfanview - I'm >>> rather surprised that it could open it at all. >>> I'll try using that example, but the double complication of the >>> included thumbnails and the 3 colours might stymie it. >>> >>> Cheers, Gib >>> ________________________________________ >>> From: Lowekamp, Bradley (NIH/NLM/LHC) [C] >>> Sent: Wednesday, 13 December 2017 3:51 a.m. >>> To: Matt McCormick; Gib Bogle >>> Cc: insight-users at itk.org >>> Subject: Re: [ITK] [ITK-users] Getting info from a very big image file >>> >>> Gib, >>> >>> I have not tested this, but the LSMImageIO is derived from the >>> TIFFImageIO, and LSMImageIO::Read does just call TIFFImageIO. So the >>> chances are very good that it supports streamed reading. >>> >>> I updated the TIFFImageIO to support stream reading of the individual >>> pages in the TIFF stack some time ago. >>> >>> You may find the following example useful to determining if the >>> functionality is there: >>> https://github.com/InsightSoftwareConsortium/ITK/blob/master >>> /Examples/IO/ImageReadExtractWrite.cxx >>> >>> >>> You can see the usage of ?UpdateOutputInformation? followed by the >>> ExtractImageFilter, this can be a very powerful and efficient pattern for >>> working with large images. The ExtractImageFilter can be used to create a >>> 3D to 2D image from it?s input volume. >>> >>> Brad >>> >>> >>> On 12/11/17, 10:56 PM, "Matt McCormick" >>> wrote: >>> >>> Hi Gib, >>> >>> Call >>> >>> reader->UpdateOutputInformation(); >>> >>> instead of >>> >>> reader->Update(); >>> >>> to get the LargestPossibleRegion populated without loading the pixel >>> buffer. >>> >>> >>> The image IO has to support streaming to read in only a >>> RequestedRegion -- unfortunately, I do not think the LSMImageIO >>> supports this at this time. >>> >>> HTH, >>> Matt >>> >>> On Mon, Dec 11, 2017 at 10:44 PM, Gib Bogle >>> wrote: >>> > Hello, >>> > >>> > >>> > I am wanting to work with a 50 GB LSM file (3D). The first step >>> is to be >>> > able to get the image info: width, height and depth. I have code >>> that works >>> > on a small LSM file >>> > >>> > >>> > im_u16 = reader->GetOutput(); >>> > width = im_u16->GetLargestPossibleRegion().GetSize()[0]; >>> > height = im_u16->GetLargestPossibleRegion().GetSize()[1]; >>> > depth = im_u16->GetLargestPossibleRegion().GetSize()[2]; >>> > >>> > >>> > but I see that to do this the whole image must be loaded into >>> memory. When >>> > I start the program running with the big file I can see that it is >>> going to >>> > exceed the host machine's 32 GB. Is there a way to get the image >>> dimensions >>> > without loading the whole image? What I am hoping to do is split >>> the file >>> > into 2D TIFF files - is there any way to extract a 2D slice >>> without reading >>> > the whole image? Or will I be forced to run on a machine with >>> more than 50 >>> > GB of RAM? >>> > >>> > >>> > Thanks in advance for any suggestions. >>> > >>> > >>> > Best regards >>> > >>> > Gib >>> > >>> > >>> > 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://www.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-users >>> > >>> 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://www.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-users >>> The ITK community is transitioning from this mailing list to >>> discourse.itk.org. Please join us there! >>> ________________________________________ >>> Community mailing list >>> Community at itk.org >>> http://public.kitware.com/mailman/listinfo/community >>> >>> >>> 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://www.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-users >>> >> >> >> 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://www.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-users >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From richard.beare at gmail.com Wed Dec 13 18:09:22 2017 From: richard.beare at gmail.com (Richard Beare) Date: Thu, 14 Dec 2017 10:09:22 +1100 Subject: [ITK-users] [ITK] Getting info from a very big image file In-Reply-To: <1513200132513.88327@auckland.ac.nz> References: <1513050281429.78450@auckland.ac.nz> <1513121796401.40762@auckland.ac.nz> <1513141073170.67673@auckland.ac.nz> <1513143999908.93478@auckland.ac.nz> <1513200132513.88327@auckland.ac.nz> Message-ID: Another long shot - any chance that windows printing is interpreting the unsigned short as a multi-byte character type (equivalent of the issues when printing unsigned char pixels) - try casting to int when displaying to see if it changes anything. On Thu, Dec 14, 2017 at 8:22 AM, Gib Bogle wrote: > I modified the VectorImageToImageAdaptor example to get this: > > > typedef itk::RGBPixel PixelType; > typedef itk::VectorImage ImageType_u16; > ImageType_u16::Pointer image; > > typedef itk::ImageFileReader ReaderType; > ReaderType::Pointer reader = ReaderType::New(); > reader->SetFileName(filename); > reader->Update(); > image = reader->GetOutput(); > > int width = image->GetLargestPossibleRegion().GetSize()[0]; > int height = image->GetLargestPossibleRegion().GetSize()[1]; > int depth = image->GetLargestPossibleRegion().GetSize()[2]; > printf("Image dimensions: width, height: %d %d\n",width,height); > printf("NumberOfComponentsPerPixel: %d\n", image-> > GetNumberOfComponentsPerPixel()); > > typedef itk::VectorImageToImageAdaptor ImageAdaptorType; > ImageAdaptorType::Pointer adaptor = ImageAdaptorType::New(); > adaptor->SetExtractComponentIndex(0); > adaptor->SetImage(image); > > itk::Index<2> index; > index[0] = 3084; > index[1] = 3072; > > std::cout << adaptor->GetPixel(index) << std::endl; > > > The size of the image is reported correctly (4656x4656) but although the > number of components is shown as 4, GetPixel returns three values (2 0 0), > at a location where I know (from ImageJ) that the green channel has a pixel > value of more than 2000. > ------------------------------ > *From:* Richard Beare > *Sent:* Wednesday, 13 December 2017 7:57 p.m. > *To:* Gib Bogle > *Cc:* D?enan Zuki?; insight-users at itk.org > *Subject:* Re: [ITK-users] [ITK] Getting info from a very big image file > > I guess there are a number of things you might want to check out. > 1) Viewers that can handle 16 bit colour channels in tiffs - my guesses > would be itksnap, imageJ. Looks like you've succeeded with imageJ > > 2) Extracting a single channel - VectorImageToImageAdaptor > > Can't see what is wrong with your code, but check the minimum as well, and > also confirm the pixel type with tiffinfo - perhaps it is signed? > > On Wed, Dec 13, 2017 at 4:46 PM, Gib Bogle wrote: > >> I just needed to put "itk::" before RGBPixel. I still don't know how to >> get the R, G and B channels. Are they in separate buffers? >> ------------------------------ >> *From:* Insight-users on behalf of Gib >> Bogle >> *Sent:* Wednesday, 13 December 2017 5:57 p.m. >> *To:* D?enan Zuki? >> *Cc:* insight-users at itk.org >> *Subject:* [FORGED] Re: [ITK-users] [ITK] Getting info from a very big >> image file >> >> >> Hi Dzenan, >> >> >> I did: >> >> #include "itkRGBPixel.h" >> >> typedef RGBPixel PixelType; >> >> but VS2010 tells me "Error: RGBPixel is not a template" >> >> >> Cheers, Gib >> ------------------------------ >> *From:* D?enan Zuki? >> *Sent:* Wednesday, 13 December 2017 4:22 p.m. >> *To:* Gib Bogle >> *Cc:* Lowekamp, Bradley (NIH/NLM/LHC) [C]; Matt McCormick; >> insight-users at itk.org >> *Subject:* Re: [ITK-users] [ITK] Getting info from a very big image file >> >> Why don't you try reading it with: >> tyepdef RGBPixel PixelType; >> >> Embedded thumbnails might be ignored by the reader, it is definitely >> worth a shot trying Brad's suggestion. >> >> Regards, >> D?enan >> >> On Tue, Dec 12, 2017 at 6:36 PM, Gib Bogle >> wrote: >> >>> Thanks Brad. The situation is complicated by the fact that there are 3 >>> channels (three colours). Tiffsplit is able to split the file into 396 127 >>> MB TIFFs and 396 thumbnail TIFFs. Irfanview can open one of the TIFFs, and >>> it tells me that it is 4656x4656 and 48 bitsperpixel. That is, it contains >>> 3 16-bit images of that size. Nothing is displayed in Irfanview - I'm >>> rather surprised that it could open it at all. >>> I'll try using that example, but the double complication of the >>> included thumbnails and the 3 colours might stymie it. >>> >>> Cheers, Gib >>> ________________________________________ >>> From: Lowekamp, Bradley (NIH/NLM/LHC) [C] >>> Sent: Wednesday, 13 December 2017 3:51 a.m. >>> To: Matt McCormick; Gib Bogle >>> Cc: insight-users at itk.org >>> Subject: Re: [ITK] [ITK-users] Getting info from a very big image file >>> >>> Gib, >>> >>> I have not tested this, but the LSMImageIO is derived from the >>> TIFFImageIO, and LSMImageIO::Read does just call TIFFImageIO. So the >>> chances are very good that it supports streamed reading. >>> >>> I updated the TIFFImageIO to support stream reading of the individual >>> pages in the TIFF stack some time ago. >>> >>> You may find the following example useful to determining if the >>> functionality is there: >>> https://github.com/InsightSoftwareConsortium/ITK/blob/master >>> /Examples/IO/ImageReadExtractWrite.cxx >>> >>> >>> You can see the usage of ?UpdateOutputInformation? followed by the >>> ExtractImageFilter, this can be a very powerful and efficient pattern for >>> working with large images. The ExtractImageFilter can be used to create a >>> 3D to 2D image from it?s input volume. >>> >>> Brad >>> >>> >>> On 12/11/17, 10:56 PM, "Matt McCormick" >>> wrote: >>> >>> Hi Gib, >>> >>> Call >>> >>> reader->UpdateOutputInformation(); >>> >>> instead of >>> >>> reader->Update(); >>> >>> to get the LargestPossibleRegion populated without loading the pixel >>> buffer. >>> >>> >>> The image IO has to support streaming to read in only a >>> RequestedRegion -- unfortunately, I do not think the LSMImageIO >>> supports this at this time. >>> >>> HTH, >>> Matt >>> >>> On Mon, Dec 11, 2017 at 10:44 PM, Gib Bogle >>> wrote: >>> > Hello, >>> > >>> > >>> > I am wanting to work with a 50 GB LSM file (3D). The first step >>> is to be >>> > able to get the image info: width, height and depth. I have code >>> that works >>> > on a small LSM file >>> > >>> > >>> > im_u16 = reader->GetOutput(); >>> > width = im_u16->GetLargestPossibleRegion().GetSize()[0]; >>> > height = im_u16->GetLargestPossibleRegion().GetSize()[1]; >>> > depth = im_u16->GetLargestPossibleRegion().GetSize()[2]; >>> > >>> > >>> > but I see that to do this the whole image must be loaded into >>> memory. When >>> > I start the program running with the big file I can see that it is >>> going to >>> > exceed the host machine's 32 GB. Is there a way to get the image >>> dimensions >>> > without loading the whole image? What I am hoping to do is split >>> the file >>> > into 2D TIFF files - is there any way to extract a 2D slice >>> without reading >>> > the whole image? Or will I be forced to run on a machine with >>> more than 50 >>> > GB of RAM? >>> > >>> > >>> > Thanks in advance for any suggestions. >>> > >>> > >>> > Best regards >>> > >>> > Gib >>> > >>> > >>> > 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://www.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-users >>> > >>> 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://www.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-users >>> The ITK community is transitioning from this mailing list to >>> discourse.itk.org. Please join us there! >>> ________________________________________ >>> Community mailing list >>> Community at itk.org >>> http://public.kitware.com/mailman/listinfo/community >>> >>> >>> 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://www.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-users >>> >> >> >> 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://www.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-users >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From g.bogle at auckland.ac.nz Wed Dec 13 19:57:58 2017 From: g.bogle at auckland.ac.nz (Gib Bogle) Date: Thu, 14 Dec 2017 00:57:58 +0000 Subject: [ITK-users] [ITK] Getting info from a very big image file In-Reply-To: References: <1513050281429.78450@auckland.ac.nz> <1513121796401.40762@auckland.ac.nz> <1513141073170.67673@auckland.ac.nz> <1513143999908.93478@auckland.ac.nz> <1513200132513.88327@auckland.ac.nz>, Message-ID: <1513213070548.55721@auckland.ac.nz> The print command is: std::cout << adaptor->GetPixel(index) << std::endl; no way to cast it, as far as I can see. ________________________________ From: Richard Beare Sent: Thursday, 14 December 2017 12:09 p.m. To: Gib Bogle Cc: D?enan Zuki?; insight-users at itk.org Subject: Re: [ITK-users] [ITK] Getting info from a very big image file Another long shot - any chance that windows printing is interpreting the unsigned short as a multi-byte character type (equivalent of the issues when printing unsigned char pixels) - try casting to int when displaying to see if it changes anything. On Thu, Dec 14, 2017 at 8:22 AM, Gib Bogle > wrote: I modified the VectorImageToImageAdaptor example to get this: typedef itk::RGBPixel PixelType; typedef itk::VectorImage ImageType_u16; ImageType_u16::Pointer image; typedef itk::ImageFileReader ReaderType; ReaderType::Pointer reader = ReaderType::New(); reader->SetFileName(filename); reader->Update(); image = reader->GetOutput(); int width = image->GetLargestPossibleRegion().GetSize()[0]; int height = image->GetLargestPossibleRegion().GetSize()[1]; int depth = image->GetLargestPossibleRegion().GetSize()[2]; printf("Image dimensions: width, height: %d %d\n",width,height); printf("NumberOfComponentsPerPixel: %d\n", image->GetNumberOfComponentsPerPixel()); typedef itk::VectorImageToImageAdaptor ImageAdaptorType; ImageAdaptorType::Pointer adaptor = ImageAdaptorType::New(); adaptor->SetExtractComponentIndex(0); adaptor->SetImage(image); itk::Index<2> index; index[0] = 3084; index[1] = 3072; std::cout << adaptor->GetPixel(index) << std::endl; The size of the image is reported correctly (4656x4656) but although the number of components is shown as 4, GetPixel returns three values (2 0 0), at a location where I know (from ImageJ) that the green channel has a pixel value of more than 2000. ________________________________ From: Richard Beare > Sent: Wednesday, 13 December 2017 7:57 p.m. To: Gib Bogle Cc: D?enan Zuki?; insight-users at itk.org Subject: Re: [ITK-users] [ITK] Getting info from a very big image file I guess there are a number of things you might want to check out. 1) Viewers that can handle 16 bit colour channels in tiffs - my guesses would be itksnap, imageJ. Looks like you've succeeded with imageJ 2) Extracting a single channel - VectorImageToImageAdaptor Can't see what is wrong with your code, but check the minimum as well, and also confirm the pixel type with tiffinfo - perhaps it is signed? On Wed, Dec 13, 2017 at 4:46 PM, Gib Bogle > wrote: I just needed to put "itk::" before RGBPixel. I still don't know how to get the R, G and B channels. Are they in separate buffers? ________________________________ From: Insight-users > on behalf of Gib Bogle > Sent: Wednesday, 13 December 2017 5:57 p.m. To: D?enan Zuki? Cc: insight-users at itk.org Subject: [FORGED] Re: [ITK-users] [ITK] Getting info from a very big image file Hi Dzenan, I did: #include "itkRGBPixel.h" typedef RGBPixel PixelType; but VS2010 tells me "Error: RGBPixel is not a template" Cheers, Gib ________________________________ From: D?enan Zuki? > Sent: Wednesday, 13 December 2017 4:22 p.m. To: Gib Bogle Cc: Lowekamp, Bradley (NIH/NLM/LHC) [C]; Matt McCormick; insight-users at itk.org Subject: Re: [ITK-users] [ITK] Getting info from a very big image file Why don't you try reading it with: tyepdef RGBPixel PixelType; Embedded thumbnails might be ignored by the reader, it is definitely worth a shot trying Brad's suggestion. Regards, D?enan On Tue, Dec 12, 2017 at 6:36 PM, Gib Bogle > wrote: Thanks Brad. The situation is complicated by the fact that there are 3 channels (three colours). Tiffsplit is able to split the file into 396 127 MB TIFFs and 396 thumbnail TIFFs. Irfanview can open one of the TIFFs, and it tells me that it is 4656x4656 and 48 bitsperpixel. That is, it contains 3 16-bit images of that size. Nothing is displayed in Irfanview - I'm rather surprised that it could open it at all. I'll try using that example, but the double complication of the included thumbnails and the 3 colours might stymie it. Cheers, Gib ________________________________________ From: Lowekamp, Bradley (NIH/NLM/LHC) [C] > Sent: Wednesday, 13 December 2017 3:51 a.m. To: Matt McCormick; Gib Bogle Cc: insight-users at itk.org Subject: Re: [ITK] [ITK-users] Getting info from a very big image file Gib, I have not tested this, but the LSMImageIO is derived from the TIFFImageIO, and LSMImageIO::Read does just call TIFFImageIO. So the chances are very good that it supports streamed reading. I updated the TIFFImageIO to support stream reading of the individual pages in the TIFF stack some time ago. You may find the following example useful to determining if the functionality is there: https://github.com/InsightSoftwareConsortium/ITK/blob/master/Examples/IO/ImageReadExtractWrite.cxx You can see the usage of ?UpdateOutputInformation? followed by the ExtractImageFilter, this can be a very powerful and efficient pattern for working with large images. The ExtractImageFilter can be used to create a 3D to 2D image from it?s input volume. Brad On 12/11/17, 10:56 PM, "Matt McCormick" > wrote: Hi Gib, Call reader->UpdateOutputInformation(); instead of reader->Update(); to get the LargestPossibleRegion populated without loading the pixel buffer. The image IO has to support streaming to read in only a RequestedRegion -- unfortunately, I do not think the LSMImageIO supports this at this time. HTH, Matt On Mon, Dec 11, 2017 at 10:44 PM, Gib Bogle > wrote: > Hello, > > > I am wanting to work with a 50 GB LSM file (3D). The first step is to be > able to get the image info: width, height and depth. I have code that works > on a small LSM file > > > im_u16 = reader->GetOutput(); > width = im_u16->GetLargestPossibleRegion().GetSize()[0]; > height = im_u16->GetLargestPossibleRegion().GetSize()[1]; > depth = im_u16->GetLargestPossibleRegion().GetSize()[2]; > > > but I see that to do this the whole image must be loaded into memory. When > I start the program running with the big file I can see that it is going to > exceed the host machine's 32 GB. Is there a way to get the image dimensions > without loading the whole image? What I am hoping to do is split the file > into 2D TIFF files - is there any way to extract a 2D slice without reading > the whole image? Or will I be forced to run on a machine with more than 50 > GB of RAM? > > > Thanks in advance for any suggestions. > > > Best regards > > Gib > > > 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://www.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-users > 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://www.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-users The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________________ Community mailing list Community at itk.org http://public.kitware.com/mailman/listinfo/community 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://www.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-users 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://www.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-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From blowekamp at mail.nih.gov Thu Dec 14 08:56:57 2017 From: blowekamp at mail.nih.gov (Lowekamp, Bradley (NIH/NLM/LHC) [C]) Date: Thu, 14 Dec 2017 13:56:57 +0000 Subject: [ITK-users] [ITK] Getting info from a very big image file In-Reply-To: <1513213070548.55721@auckland.ac.nz> References: <1513050281429.78450@auckland.ac.nz> <1513121796401.40762@auckland.ac.nz> <1513141073170.67673@auckland.ac.nz> <1513143999908.93478@auckland.ac.nz> <1513200132513.88327@auckland.ac.nz> <1513213070548.55721@auckland.ac.nz> Message-ID: Hello, I have been paying attention to ITK Discourse discourse.itk.org where the mailing list has migrated too. So I haven?t noticed this topic the past couple days. I?d suggest creating a topic in ITK discourse and share the details of your image produced by tiffinfo, and trying to get an image that you can share. Brad From: Gib Bogle Date: Wednesday, December 13, 2017 at 7:58 PM To: "Richard.Beare at ieee.org" Cc: "insight-users at itk.org" Subject: Re: [ITK-users] [ITK] Getting info from a very big image file The print command is: std::cout << adaptor->GetPixel(index) << std::endl; no way to cast it, as far as I can see. ________________________________ From: Richard Beare Sent: Thursday, 14 December 2017 12:09 p.m. To: Gib Bogle Cc: D?enan Zuki?; insight-users at itk.org Subject: Re: [ITK-users] [ITK] Getting info from a very big image file Another long shot - any chance that windows printing is interpreting the unsigned short as a multi-byte character type (equivalent of the issues when printing unsigned char pixels) - try casting to int when displaying to see if it changes anything. On Thu, Dec 14, 2017 at 8:22 AM, Gib Bogle > wrote: I modified the VectorImageToImageAdaptor example to get this: typedef itk::RGBPixel PixelType; typedef itk::VectorImage ImageType_u16; ImageType_u16::Pointer image; typedef itk::ImageFileReader ReaderType; ReaderType::Pointer reader = ReaderType::New(); reader->SetFileName(filename); reader->Update(); image = reader->GetOutput(); int width = image->GetLargestPossibleRegion().GetSize()[0]; int height = image->GetLargestPossibleRegion().GetSize()[1]; int depth = image->GetLargestPossibleRegion().GetSize()[2]; printf("Image dimensions: width, height: %d %d\n",width,height); printf("NumberOfComponentsPerPixel: %d\n", image->GetNumberOfComponentsPerPixel()); typedef itk::VectorImageToImageAdaptor ImageAdaptorType; ImageAdaptorType::Pointer adaptor = ImageAdaptorType::New(); adaptor->SetExtractComponentIndex(0); adaptor->SetImage(image); itk::Index<2> index; index[0] = 3084; index[1] = 3072; std::cout << adaptor->GetPixel(index) << std::endl; The size of the image is reported correctly (4656x4656) but although the number of components is shown as 4, GetPixel returns three values (2 0 0), at a location where I know (from ImageJ) that the green channel has a pixel value of more than 2000. ________________________________ From: Richard Beare > Sent: Wednesday, 13 December 2017 7:57 p.m. To: Gib Bogle Cc: D?enan Zuki?; insight-users at itk.org Subject: Re: [ITK-users] [ITK] Getting info from a very big image file I guess there are a number of things you might want to check out. 1) Viewers that can handle 16 bit colour channels in tiffs - my guesses would be itksnap, imageJ. Looks like you've succeeded with imageJ 2) Extracting a single channel - VectorImageToImageAdaptor Can't see what is wrong with your code, but check the minimum as well, and also confirm the pixel type with tiffinfo - perhaps it is signed? On Wed, Dec 13, 2017 at 4:46 PM, Gib Bogle > wrote: I just needed to put "itk::" before RGBPixel. I still don't know how to get the R, G and B channels. Are they in separate buffers? ________________________________ From: Insight-users > on behalf of Gib Bogle > Sent: Wednesday, 13 December 2017 5:57 p.m. To: D?enan Zuki? Cc: insight-users at itk.org Subject: [FORGED] Re: [ITK-users] [ITK] Getting info from a very big image file Hi Dzenan, I did: #include "itkRGBPixel.h" typedef RGBPixel PixelType; but VS2010 tells me "Error: RGBPixel is not a template" Cheers, Gib ________________________________ From: D?enan Zuki? > Sent: Wednesday, 13 December 2017 4:22 p.m. To: Gib Bogle Cc: Lowekamp, Bradley (NIH/NLM/LHC) [C]; Matt McCormick; insight-users at itk.org Subject: Re: [ITK-users] [ITK] Getting info from a very big image file Why don't you try reading it with: tyepdef RGBPixel PixelType; Embedded thumbnails might be ignored by the reader, it is definitely worth a shot trying Brad's suggestion. Regards, D?enan On Tue, Dec 12, 2017 at 6:36 PM, Gib Bogle > wrote: Thanks Brad. The situation is complicated by the fact that there are 3 channels (three colours). Tiffsplit is able to split the file into 396 127 MB TIFFs and 396 thumbnail TIFFs. Irfanview can open one of the TIFFs, and it tells me that it is 4656x4656 and 48 bitsperpixel. That is, it contains 3 16-bit images of that size. Nothing is displayed in Irfanview - I'm rather surprised that it could open it at all. I'll try using that example, but the double complication of the included thumbnails and the 3 colours might stymie it. Cheers, Gib ________________________________________ From: Lowekamp, Bradley (NIH/NLM/LHC) [C] > Sent: Wednesday, 13 December 2017 3:51 a.m. To: Matt McCormick; Gib Bogle Cc: insight-users at itk.org Subject: Re: [ITK] [ITK-users] Getting info from a very big image file Gib, I have not tested this, but the LSMImageIO is derived from the TIFFImageIO, and LSMImageIO::Read does just call TIFFImageIO. So the chances are very good that it supports streamed reading. I updated the TIFFImageIO to support stream reading of the individual pages in the TIFF stack some time ago. You may find the following example useful to determining if the functionality is there: https://github.com/InsightSoftwareConsortium/ITK/blob/master/Examples/IO/ImageReadExtractWrite.cxx You can see the usage of ?UpdateOutputInformation? followed by the ExtractImageFilter, this can be a very powerful and efficient pattern for working with large images. The ExtractImageFilter can be used to create a 3D to 2D image from it?s input volume. Brad On 12/11/17, 10:56 PM, "Matt McCormick" > wrote: Hi Gib, Call reader->UpdateOutputInformation(); instead of reader->Update(); to get the LargestPossibleRegion populated without loading the pixel buffer. The image IO has to support streaming to read in only a RequestedRegion -- unfortunately, I do not think the LSMImageIO supports this at this time. HTH, Matt On Mon, Dec 11, 2017 at 10:44 PM, Gib Bogle > wrote: > Hello, > > > I am wanting to work with a 50 GB LSM file (3D). The first step is to be > able to get the image info: width, height and depth. I have code that works > on a small LSM file > > > im_u16 = reader->GetOutput(); > width = im_u16->GetLargestPossibleRegion().GetSize()[0]; > height = im_u16->GetLargestPossibleRegion().GetSize()[1]; > depth = im_u16->GetLargestPossibleRegion().GetSize()[2]; > > > but I see that to do this the whole image must be loaded into memory. When > I start the program running with the big file I can see that it is going to > exceed the host machine's 32 GB. Is there a way to get the image dimensions > without loading the whole image? What I am hoping to do is split the file > into 2D TIFF files - is there any way to extract a 2D slice without reading > the whole image? Or will I be forced to run on a machine with more than 50 > GB of RAM? > > > Thanks in advance for any suggestions. > > > Best regards > > Gib > > > 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://www.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-users > 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://www.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-users The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________________ Community mailing list Community at itk.org http://public.kitware.com/mailman/listinfo/community 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://www.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-users 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://www.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-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From g.bogle at auckland.ac.nz Thu Dec 14 21:06:26 2017 From: g.bogle at auckland.ac.nz (Gib Bogle) Date: Fri, 15 Dec 2017 02:06:26 +0000 Subject: [ITK-users] [ITK] Getting info from a very big image file In-Reply-To: References: <1513050281429.78450@auckland.ac.nz> <1513121796401.40762@auckland.ac.nz> <1513141073170.67673@auckland.ac.nz> <1513143999908.93478@auckland.ac.nz> <1513200132513.88327@auckland.ac.nz> <1513213070548.55721@auckland.ac.nz>, Message-ID: <1513303576307.83067@auckland.ac.nz> I've created a discourse topic, Brad. I don't have a way of creating a smaller 2D image file (the compressed size is 57 MB). Cheers, Gib ________________________________ From: Lowekamp, Bradley (NIH/NLM/LHC) [C] Sent: Friday, 15 December 2017 2:56 a.m. To: Gib Bogle; Richard.Beare at ieee.org Cc: insight-users at itk.org Subject: Re: [ITK-users] [ITK] Getting info from a very big image file Hello, I have been paying attention to ITK Discourse discourse.itk.org where the mailing list has migrated too. So I haven?t noticed this topic the past couple days. I?d suggest creating a topic in ITK discourse and share the details of your image produced by tiffinfo, and trying to get an image that you can share. Brad From: Gib Bogle Date: Wednesday, December 13, 2017 at 7:58 PM To: "Richard.Beare at ieee.org" Cc: "insight-users at itk.org" Subject: Re: [ITK-users] [ITK] Getting info from a very big image file The print command is: std::cout << adaptor->GetPixel(index) << std::endl; no way to cast it, as far as I can see. ________________________________ From: Richard Beare Sent: Thursday, 14 December 2017 12:09 p.m. To: Gib Bogle Cc: D?enan Zuki?; insight-users at itk.org Subject: Re: [ITK-users] [ITK] Getting info from a very big image file Another long shot - any chance that windows printing is interpreting the unsigned short as a multi-byte character type (equivalent of the issues when printing unsigned char pixels) - try casting to int when displaying to see if it changes anything. On Thu, Dec 14, 2017 at 8:22 AM, Gib Bogle > wrote: I modified the VectorImageToImageAdaptor example to get this: typedef itk::RGBPixel PixelType; typedef itk::VectorImage ImageType_u16; ImageType_u16::Pointer image; typedef itk::ImageFileReader ReaderType; ReaderType::Pointer reader = ReaderType::New(); reader->SetFileName(filename); reader->Update(); image = reader->GetOutput(); int width = image->GetLargestPossibleRegion().GetSize()[0]; int height = image->GetLargestPossibleRegion().GetSize()[1]; int depth = image->GetLargestPossibleRegion().GetSize()[2]; printf("Image dimensions: width, height: %d %d\n",width,height); printf("NumberOfComponentsPerPixel: %d\n", image->GetNumberOfComponentsPerPixel()); typedef itk::VectorImageToImageAdaptor ImageAdaptorType; ImageAdaptorType::Pointer adaptor = ImageAdaptorType::New(); adaptor->SetExtractComponentIndex(0); adaptor->SetImage(image); itk::Index<2> index; index[0] = 3084; index[1] = 3072; std::cout << adaptor->GetPixel(index) << std::endl; The size of the image is reported correctly (4656x4656) but although the number of components is shown as 4, GetPixel returns three values (2 0 0), at a location where I know (from ImageJ) that the green channel has a pixel value of more than 2000. ________________________________ From: Richard Beare > Sent: Wednesday, 13 December 2017 7:57 p.m. To: Gib Bogle Cc: D?enan Zuki?; insight-users at itk.org Subject: Re: [ITK-users] [ITK] Getting info from a very big image file I guess there are a number of things you might want to check out. 1) Viewers that can handle 16 bit colour channels in tiffs - my guesses would be itksnap, imageJ. Looks like you've succeeded with imageJ 2) Extracting a single channel - VectorImageToImageAdaptor Can't see what is wrong with your code, but check the minimum as well, and also confirm the pixel type with tiffinfo - perhaps it is signed? On Wed, Dec 13, 2017 at 4:46 PM, Gib Bogle > wrote: I just needed to put "itk::" before RGBPixel. I still don't know how to get the R, G and B channels. Are they in separate buffers? ________________________________ From: Insight-users > on behalf of Gib Bogle > Sent: Wednesday, 13 December 2017 5:57 p.m. To: D?enan Zuki? Cc: insight-users at itk.org Subject: [FORGED] Re: [ITK-users] [ITK] Getting info from a very big image file Hi Dzenan, I did: #include "itkRGBPixel.h" typedef RGBPixel PixelType; but VS2010 tells me "Error: RGBPixel is not a template" Cheers, Gib ________________________________ From: D?enan Zuki? > Sent: Wednesday, 13 December 2017 4:22 p.m. To: Gib Bogle Cc: Lowekamp, Bradley (NIH/NLM/LHC) [C]; Matt McCormick; insight-users at itk.org Subject: Re: [ITK-users] [ITK] Getting info from a very big image file Why don't you try reading it with: tyepdef RGBPixel PixelType; Embedded thumbnails might be ignored by the reader, it is definitely worth a shot trying Brad's suggestion. Regards, D?enan On Tue, Dec 12, 2017 at 6:36 PM, Gib Bogle > wrote: Thanks Brad. The situation is complicated by the fact that there are 3 channels (three colours). Tiffsplit is able to split the file into 396 127 MB TIFFs and 396 thumbnail TIFFs. Irfanview can open one of the TIFFs, and it tells me that it is 4656x4656 and 48 bitsperpixel. That is, it contains 3 16-bit images of that size. Nothing is displayed in Irfanview - I'm rather surprised that it could open it at all. I'll try using that example, but the double complication of the included thumbnails and the 3 colours might stymie it. Cheers, Gib ________________________________________ From: Lowekamp, Bradley (NIH/NLM/LHC) [C] > Sent: Wednesday, 13 December 2017 3:51 a.m. To: Matt McCormick; Gib Bogle Cc: insight-users at itk.org Subject: Re: [ITK] [ITK-users] Getting info from a very big image file Gib, I have not tested this, but the LSMImageIO is derived from the TIFFImageIO, and LSMImageIO::Read does just call TIFFImageIO. So the chances are very good that it supports streamed reading. I updated the TIFFImageIO to support stream reading of the individual pages in the TIFF stack some time ago. You may find the following example useful to determining if the functionality is there: https://github.com/InsightSoftwareConsortium/ITK/blob/master/Examples/IO/ImageReadExtractWrite.cxx You can see the usage of ?UpdateOutputInformation? followed by the ExtractImageFilter, this can be a very powerful and efficient pattern for working with large images. The ExtractImageFilter can be used to create a 3D to 2D image from it?s input volume. Brad On 12/11/17, 10:56 PM, "Matt McCormick" > wrote: Hi Gib, Call reader->UpdateOutputInformation(); instead of reader->Update(); to get the LargestPossibleRegion populated without loading the pixel buffer. The image IO has to support streaming to read in only a RequestedRegion -- unfortunately, I do not think the LSMImageIO supports this at this time. HTH, Matt On Mon, Dec 11, 2017 at 10:44 PM, Gib Bogle > wrote: > Hello, > > > I am wanting to work with a 50 GB LSM file (3D). The first step is to be > able to get the image info: width, height and depth. I have code that works > on a small LSM file > > > im_u16 = reader->GetOutput(); > width = im_u16->GetLargestPossibleRegion().GetSize()[0]; > height = im_u16->GetLargestPossibleRegion().GetSize()[1]; > depth = im_u16->GetLargestPossibleRegion().GetSize()[2]; > > > but I see that to do this the whole image must be loaded into memory. When > I start the program running with the big file I can see that it is going to > exceed the host machine's 32 GB. Is there a way to get the image dimensions > without loading the whole image? What I am hoping to do is split the file > into 2D TIFF files - is there any way to extract a 2D slice without reading > the whole image? Or will I be forced to run on a machine with more than 50 > GB of RAM? > > > Thanks in advance for any suggestions. > > > Best regards > > Gib > > > 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://www.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-users > 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://www.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-users The ITK community is transitioning from this mailing list to discourse.itk.org. Please join us there! ________________________________________ Community mailing list Community at itk.org http://public.kitware.com/mailman/listinfo/community 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://www.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-users 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://www.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-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From g.bogle at auckland.ac.nz Fri Dec 15 16:14:14 2017 From: g.bogle at auckland.ac.nz (Gib Bogle) Date: Fri, 15 Dec 2017 21:14:14 +0000 Subject: [ITK-users] Install problem on Windows 7 Message-ID: <1513372442818.91803@auckland.ac.nz> I've been using ITK4.8.0, which I built two years ago, so I decided to build 4.12.2, in case something has been fixed since then. Following exactly the same procedure with cmake-gui as before, and setting CMAKE_INSTALL_PREFIX as C:/Program Files/ITK4.12.2 everything goes fine (building with VS2010 Win64) until the actual install step of copying the files to the install directory. The error message is: 135> -- Install configuration: "Release" 135> CMake Error at cmake_install.cmake:31 (file): 135> file cannot create directory: C:/Program 135> Files/ITK4.12.2/lib/cmake/ITK-4.12. Maybe need administrative privileges. Clearly the CMAKE_INSTALL_PREFIX is not being treated correctly, and the space is terminating the directory name. I tried putting quotes around it, but that produced a similar but even more strange result - cmake had inserted a ';', making the directory C:/Program;Files/ITK4.12.2 Is this an issue with the cmake version? I am using cmake 3.0.2. I considered copying all the files by hand, but I'm not sure if that's really feasible. -------------- next part -------------- An HTML attachment was scrubbed... URL: From g.bogle at auckland.ac.nz Fri Dec 15 16:49:49 2017 From: g.bogle at auckland.ac.nz (Gib Bogle) Date: Fri, 15 Dec 2017 21:49:49 +0000 Subject: [ITK-users] Install problem on Windows 7 In-Reply-To: <1513372442818.91803@auckland.ac.nz> References: <1513372442818.91803@auckland.ac.nz> Message-ID: <1513374577268.40106@auckland.ac.nz> If I leave the CMAKE_INSTALL_PREFIX blank, it installs correctly (in the same place I specified). It must be a cmake bug - no problem once you know how to avoid it. ________________________________ From: Insight-users on behalf of Gib Bogle Sent: Saturday, 16 December 2017 10:14 a.m. To: insight-users Subject: [FORGED] [ITK-users] Install problem on Windows 7 I've been using ITK4.8.0, which I built two years ago, so I decided to build 4.12.2, in case something has been fixed since then. Following exactly the same procedure with cmake-gui as before, and setting CMAKE_INSTALL_PREFIX as C:/Program Files/ITK4.12.2 everything goes fine (building with VS2010 Win64) until the actual install step of copying the files to the install directory. The error message is: 135> -- Install configuration: "Release" 135> CMake Error at cmake_install.cmake:31 (file): 135> file cannot create directory: C:/Program 135> Files/ITK4.12.2/lib/cmake/ITK-4.12. Maybe need administrative privileges. Clearly the CMAKE_INSTALL_PREFIX is not being treated correctly, and the space is terminating the directory name. I tried putting quotes around it, but that produced a similar but even more strange result - cmake had inserted a ';', making the directory C:/Program;Files/ITK4.12.2 Is this an issue with the cmake version? I am using cmake 3.0.2. I considered copying all the files by hand, but I'm not sure if that's really feasible. -------------- next part -------------- An HTML attachment was scrubbed... URL: From g.bogle at auckland.ac.nz Fri Dec 15 17:15:14 2017 From: g.bogle at auckland.ac.nz (Gib Bogle) Date: Fri, 15 Dec 2017 22:15:14 +0000 Subject: [ITK-users] Install problem on Windows 7 In-Reply-To: <1513374577268.40106@auckland.ac.nz> References: <1513372442818.91803@auckland.ac.nz>, <1513374577268.40106@auckland.ac.nz> Message-ID: <1513376102410.64141@auckland.ac.nz> I spoke too soon. I saw the install proceeding successfully, and leapt to the conclusion that it was putting the files in the right place (I'd got the mistaken idea that C:/Program Files/ITK4.12.2 was the default install directory, by misinterpreting cmake_install.cmake). So the directories - bin, include, lib, share - were all created under D:/. No big deal to copy them to C:/Program Files/ITK4.12.2, but this is clearly an issue. Has anybody else encountered this? ________________________________ From: Insight-users on behalf of Gib Bogle Sent: Saturday, 16 December 2017 10:49 a.m. To: insight-users Subject: [FORGED] Re: [ITK-users] Install problem on Windows 7 If I leave the CMAKE_INSTALL_PREFIX blank, it installs correctly (in the same place I specified). It must be a cmake bug - no problem once you know how to avoid it. ________________________________ From: Insight-users on behalf of Gib Bogle Sent: Saturday, 16 December 2017 10:14 a.m. To: insight-users Subject: [FORGED] [ITK-users] Install problem on Windows 7 I've been using ITK4.8.0, which I built two years ago, so I decided to build 4.12.2, in case something has been fixed since then. Following exactly the same procedure with cmake-gui as before, and setting CMAKE_INSTALL_PREFIX as C:/Program Files/ITK4.12.2 everything goes fine (building with VS2010 Win64) until the actual install step of copying the files to the install directory. The error message is: 135> -- Install configuration: "Release" 135> CMake Error at cmake_install.cmake:31 (file): 135> file cannot create directory: C:/Program 135> Files/ITK4.12.2/lib/cmake/ITK-4.12. Maybe need administrative privileges. Clearly the CMAKE_INSTALL_PREFIX is not being treated correctly, and the space is terminating the directory name. I tried putting quotes around it, but that produced a similar but even more strange result - cmake had inserted a ';', making the directory C:/Program;Files/ITK4.12.2 Is this an issue with the cmake version? I am using cmake 3.0.2. I considered copying all the files by hand, but I'm not sure if that's really feasible. -------------- next part -------------- An HTML attachment was scrubbed... URL: From dzenanz at gmail.com Fri Dec 15 18:52:05 2017 From: dzenanz at gmail.com (=?UTF-8?B?RMW+ZW5hbiBadWtpxIc=?=) Date: Fri, 15 Dec 2017 18:52:05 -0500 Subject: [ITK-users] Install problem on Windows 7 In-Reply-To: <1513376102410.64141@auckland.ac.nz> References: <1513372442818.91803@auckland.ac.nz> <1513374577268.40106@auckland.ac.nz> <1513376102410.64141@auckland.ac.nz> Message-ID: Hi Gib, as installing into C:/Program Files/ITK prefix works for me, it must be the CMake version. Fortunately, updating CMake is easy. Regards, D?enan On Fri, Dec 15, 2017 at 5:15 PM, Gib Bogle wrote: > I spoke too soon. I saw the install proceeding successfully, and leapt to > the conclusion that it was putting the files in the right place (I'd got > the mistaken idea that C:/Program Files/ITK4.12.2 was the default install > directory, by misinterpreting cmake_install.cmake). So the directories - > bin, include, lib, share - were all created under D:/. No big deal to copy > them to C:/Program Files/ITK4.12.2, but this is clearly an issue. Has > anybody else encountered this? > ------------------------------ > *From:* Insight-users on behalf of Gib > Bogle > *Sent:* Saturday, 16 December 2017 10:49 a.m. > *To:* insight-users > *Subject:* [FORGED] Re: [ITK-users] Install problem on Windows 7 > > > If I leave the CMAKE_INSTALL_PREFIX blank, it installs correctly (in the > same place I specified). It must be a cmake bug - no problem once you know > how to avoid it. > ------------------------------ > *From:* Insight-users on behalf of Gib > Bogle > *Sent:* Saturday, 16 December 2017 10:14 a.m. > *To:* insight-users > *Subject:* [FORGED] [ITK-users] Install problem on Windows 7 > > > I've been using ITK4.8.0, which I built two years ago, so I decided to > build 4.12.2, in case something has been fixed since then. > > > Following exactly the same procedure with cmake-gui as before, and setting > CMAKE_INSTALL_PREFIX as > > C:/Program Files/ITK4.12.2 > > everything goes fine (building with VS2010 Win64) until the actual install > step of copying the files to the install directory. The error message is: > > > 135> -- Install configuration: "Release" > 135> CMake Error at cmake_install.cmake:31 (file): > 135> file cannot create directory: C:/Program > 135> Files/ITK4.12.2/lib/cmake/ITK-4.12. Maybe need administrative > privileges. > > > Clearly the CMAKE_INSTALL_PREFIX is not being treated correctly, and the > space is terminating the directory name. I tried putting quotes around it, > but that produced a similar but even more strange result - cmake had > inserted a ';', making the directory C:/Program;Files/ITK4.12.2 > > Is this an issue with the cmake version? I am using cmake 3.0.2. > > > I considered copying all the files by hand, but I'm not sure if that's > really feasible. > > 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://www.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: > https://itk.org/mailman/listinfo/insight-users > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From dzenanz at gmail.com Fri Dec 15 20:18:44 2017 From: dzenanz at gmail.com (=?UTF-8?B?RMW+ZW5hbiBadWtpxIc=?=) Date: Fri, 15 Dec 2017 20:18:44 -0500 Subject: [ITK-users] Install problem on Windows 7 In-Reply-To: <1513386525964.57264@auckland.ac.nz> References: <1513372442818.91803@auckland.ac.nz> <1513374577268.40106@auckland.ac.nz> <1513376102410.64141@auckland.ac.nz> <1513386525964.57264@auckland.ac.nz> Message-ID: Hi Gib, are you running Visual Studio (or whatever is your make tool, e.g. ninja) as administrator? I suppose writing in Program Files requires administrative privileges. The Linux equivalent is make install does not work, so you need to do sudo make install. Regards, D?enan On Fri, Dec 15, 2017 at 8:08 PM, Gib Bogle wrote: > Hi Dzenan, > > > I just updated cmake to 3.10, and went though the build procedure again. > This is CMAKE_INSTALL_PREFIX: > > C:/Program Files/ITK4.12.2 > > and this is the install error message: > > 143> -- Install configuration: "Release" > 143> -- Up-to-date: C:/Program Files/ITK4.12.2/lib/cmake/ITK- > 4.12/ITKConfig.cmake > 143> CMake Error at cmake_install.cmake:36 (file): > 143> file INSTALL cannot set permissions on "C:/Program > 143> Files/ITK4.12.2/lib/cmake/ITK-4.12/ITKConfig.cmake" > > > (C:/Program Files/itk4.12.2 already exists) I've never had problems with > cmake before. This is bizarre. > > > What version of VS are you using? > > > Cheers > > Gib > ------------------------------ > *From:* D?enan Zuki? > *Sent:* Saturday, 16 December 2017 12:52 p.m. > *To:* Gib Bogle > *Cc:* insight-users > *Subject:* Re: [ITK-users] Install problem on Windows 7 > > Hi Gib, > > as installing into C:/Program Files/ITK prefix works for me, it must be > the CMake version. Fortunately, updating CMake is easy. > > Regards, > D?enan > > On Fri, Dec 15, 2017 at 5:15 PM, Gib Bogle wrote: > >> I spoke too soon. I saw the install proceeding successfully, and leapt >> to the conclusion that it was putting the files in the right place (I'd got >> the mistaken idea that C:/Program Files/ITK4.12.2 was the default install >> directory, by misinterpreting cmake_install.cmake). So the directories - >> bin, include, lib, share - were all created under D:/. No big deal to copy >> them to C:/Program Files/ITK4.12.2, but this is clearly an issue. Has >> anybody else encountered this? >> ------------------------------ >> *From:* Insight-users on behalf of Gib >> Bogle >> *Sent:* Saturday, 16 December 2017 10:49 a.m. >> *To:* insight-users >> *Subject:* [FORGED] Re: [ITK-users] Install problem on Windows 7 >> >> >> If I leave the CMAKE_INSTALL_PREFIX blank, it installs correctly (in the >> same place I specified). It must be a cmake bug - no problem once you know >> how to avoid it. >> ------------------------------ >> *From:* Insight-users on behalf of Gib >> Bogle >> *Sent:* Saturday, 16 December 2017 10:14 a.m. >> *To:* insight-users >> *Subject:* [FORGED] [ITK-users] Install problem on Windows 7 >> >> >> I've been using ITK4.8.0, which I built two years ago, so I decided to >> build 4.12.2, in case something has been fixed since then. >> >> >> Following exactly the same procedure with cmake-gui as before, and >> setting CMAKE_INSTALL_PREFIX as >> >> C:/Program Files/ITK4.12.2 >> >> everything goes fine (building with VS2010 Win64) until the actual >> install step of copying the files to the install directory. The error >> message is: >> >> >> 135> -- Install configuration: "Release" >> 135> CMake Error at cmake_install.cmake:31 (file): >> 135> file cannot create directory: C:/Program >> 135> Files/ITK4.12.2/lib/cmake/ITK-4.12. Maybe need administrative >> privileges. >> >> >> Clearly the CMAKE_INSTALL_PREFIX is not being treated correctly, and the >> space is terminating the directory name. I tried putting quotes around it, >> but that produced a similar but even more strange result - cmake had >> inserted a ';', making the directory C:/Program;Files/ITK4.12.2 >> >> Is this an issue with the cmake version? I am using cmake 3.0.2. >> >> >> I considered copying all the files by hand, but I'm not sure if that's >> really feasible. >> >> 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://www.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: >> https://itk.org/mailman/listinfo/insight-users >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From dzenanz at gmail.com Fri Dec 15 21:00:24 2017 From: dzenanz at gmail.com (=?UTF-8?B?RMW+ZW5hbiBadWtpxIc=?=) Date: Fri, 15 Dec 2017 21:00:24 -0500 Subject: [ITK-users] Install problem on Windows 7 In-Reply-To: <1513388286367.29577@auckland.ac.nz> References: <1513372442818.91803@auckland.ac.nz> <1513374577268.40106@auckland.ac.nz> <1513376102410.64141@auckland.ac.nz> <1513386525964.57264@auckland.ac.nz> <1513388286367.29577@auckland.ac.nz> Message-ID: How are you setting the path "C:/Program Files/ITK4.12.2"? Do you set it in the code somewhere? Can you show us the code fragment? Or do you set it in the CMake GUI? On Fri, Dec 15, 2017 at 8:38 PM, Gib Bogle wrote: > I have administrator rights on my machine. I have installed many packages, > including ITK and VTK on several machines using cmake and VS2010. Note > that this line: > > 143> file INSTALL cannot set permissions on "C:/Program > > shows that VS is trying to install in C:/Program, a directory that does > not exist. It should be trying to install in C:/Program Files/itk4.12.2, > which is what I set > CMAKE_INSTALL_PREFIX to, and is also the value shown in > cmake_install.cmake. > > I don't run install outside of VS, I build INSTALL (as usual). > > This is completely the standard procedure for packages like ITK, and I > have done it many times with this compiler. The only thing that has > changed is the ITK package. > > Which version of ITK did you install into C:/Program Files/ITK, and which > version of Visual Studio did you use? > ------------------------------ > *From:* D?enan Zuki? > *Sent:* Saturday, 16 December 2017 2:18 p.m. > *To:* Gib Bogle; Insight-users > > *Subject:* Re: [ITK-users] Install problem on Windows 7 > > Hi Gib, > > are you running Visual Studio (or whatever is your make tool, e.g. ninja) > as administrator? I suppose writing in Program Files requires > administrative privileges. The Linux equivalent is make install does not > work, so you need to do sudo make install. > > Regards, > D?enan > > On Fri, Dec 15, 2017 at 8:08 PM, Gib Bogle wrote: > >> Hi Dzenan, >> >> >> I just updated cmake to 3.10, and went though the build procedure again. >> This is CMAKE_INSTALL_PREFIX: >> >> C:/Program Files/ITK4.12.2 >> >> and this is the install error message: >> >> 143> -- Install configuration: "Release" >> 143> -- Up-to-date: C:/Program Files/ITK4.12.2/lib/cmake/ITK- >> 4.12/ITKConfig.cmake >> 143> CMake Error at cmake_install.cmake:36 (file): >> 143> file INSTALL cannot set permissions on "C:/Program >> 143> Files/ITK4.12.2/lib/cmake/ITK-4.12/ITKConfig.cmake" >> >> >> (C:/Program Files/itk4.12.2 already exists) I've never had problems with >> cmake before. This is bizarre. >> >> >> What version of VS are you using? >> >> >> Cheers >> >> Gib >> ------------------------------ >> *From:* D?enan Zuki? >> *Sent:* Saturday, 16 December 2017 12:52 p.m. >> *To:* Gib Bogle >> *Cc:* insight-users >> *Subject:* Re: [ITK-users] Install problem on Windows 7 >> >> Hi Gib, >> >> as installing into C:/Program Files/ITK prefix works for me, it must be >> the CMake version. Fortunately, updating CMake is easy. >> >> Regards, >> D?enan >> >> On Fri, Dec 15, 2017 at 5:15 PM, Gib Bogle >> wrote: >> >>> I spoke too soon. I saw the install proceeding successfully, and leapt >>> to the conclusion that it was putting the files in the right place (I'd got >>> the mistaken idea that C:/Program Files/ITK4.12.2 was the default install >>> directory, by misinterpreting cmake_install.cmake). So the directories - >>> bin, include, lib, share - were all created under D:/. No big deal to copy >>> them to C:/Program Files/ITK4.12.2, but this is clearly an issue. Has >>> anybody else encountered this? >>> ------------------------------ >>> *From:* Insight-users on behalf of Gib >>> Bogle >>> *Sent:* Saturday, 16 December 2017 10:49 a.m. >>> *To:* insight-users >>> *Subject:* [FORGED] Re: [ITK-users] Install problem on Windows 7 >>> >>> >>> If I leave the CMAKE_INSTALL_PREFIX blank, it installs correctly (in the >>> same place I specified). It must be a cmake bug - no problem once you know >>> how to avoid it. >>> ------------------------------ >>> *From:* Insight-users on behalf of Gib >>> Bogle >>> *Sent:* Saturday, 16 December 2017 10:14 a.m. >>> *To:* insight-users >>> *Subject:* [FORGED] [ITK-users] Install problem on Windows 7 >>> >>> >>> I've been using ITK4.8.0, which I built two years ago, so I decided to >>> build 4.12.2, in case something has been fixed since then. >>> >>> >>> Following exactly the same procedure with cmake-gui as before, and >>> setting CMAKE_INSTALL_PREFIX as >>> >>> C:/Program Files/ITK4.12.2 >>> >>> everything goes fine (building with VS2010 Win64) until the actual >>> install step of copying the files to the install directory. The error >>> message is: >>> >>> >>> 135> -- Install configuration: "Release" >>> 135> CMake Error at cmake_install.cmake:31 (file): >>> 135> file cannot create directory: C:/Program >>> 135> Files/ITK4.12.2/lib/cmake/ITK-4.12. Maybe need administrative >>> privileges. >>> >>> >>> Clearly the CMAKE_INSTALL_PREFIX is not being treated correctly, and the >>> space is terminating the directory name. I tried putting quotes around it, >>> but that produced a similar but even more strange result - cmake had >>> inserted a ';', making the directory C:/Program;Files/ITK4.12.2 >>> >>> Is this an issue with the cmake version? I am using cmake 3.0.2. >>> >>> >>> I considered copying all the files by hand, but I'm not sure if that's >>> really feasible. >>> >>> 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://www.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: >>> https://itk.org/mailman/listinfo/insight-users >>> >>> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From dzenanz at gmail.com Fri Dec 15 21:33:24 2017 From: dzenanz at gmail.com (=?UTF-8?B?RMW+ZW5hbiBadWtpxIc=?=) Date: Fri, 15 Dec 2017 21:33:24 -0500 Subject: [ITK-users] Install problem on Windows 7 In-Reply-To: <1513391123745.75903@auckland.ac.nz> References: <1513372442818.91803@auckland.ac.nz> <1513374577268.40106@auckland.ac.nz> <1513376102410.64141@auckland.ac.nz> <1513386525964.57264@auckland.ac.nz> <1513391123745.75903@auckland.ac.nz> Message-ID: I usually disable the security prompts, they are too annoying. That might not matter on Win10 (I am running Win7). I am CC'ing the mailing list, so if someone comes across this again they can see what the solutions was. I have seen you shared xaas.tif. I will look into that next time I go to the office. Regards, D?enan On Fri, Dec 15, 2017 at 9:25 PM, Gib Bogle wrote: > I just realised that I was mistaken in thinking that VS was truncating the > install directory name. It's just that the long filename was split over > two lines. Duh! Now it seems that in fact it is a permissions issue, as > you suggested. Although I have administrator rights, when I do things in > some C: directories I am asked if I want to continue - to verify that I am > using my administrator permission. It seems that at some stage the VS > install wants to set permissions on > > ITKConfig.cmake, for some reason. > > > I have now opened VS2010 by "Run as administrator", and successfully > completed the install. > > > Thanks for your help. By the way, did you see that I've put xaas.rar > (compressed form of xaas.tif) on the Kitware data site? For some peculiar > reason some of my posts on the Discourse site are being hidden, apparently > being flagged by several members as spam. I have no idea what is causiing > that. > > > Cheers > Gib > ------------------------------ > *From:* D?enan Zuki? > *Sent:* Saturday, 16 December 2017 2:18 p.m. > *To:* Gib Bogle; Insight-users > *Subject:* Re: [ITK-users] Install problem on Windows 7 > > Hi Gib, > > are you running Visual Studio (or whatever is your make tool, e.g. ninja) > as administrator? I suppose writing in Program Files requires > administrative privileges. The Linux equivalent is make install does not > work, so you need to do sudo make install. > > Regards, > D?enan > > On Fri, Dec 15, 2017 at 8:08 PM, Gib Bogle wrote: > >> Hi Dzenan, >> >> >> I just updated cmake to 3.10, and went though the build procedure again. >> This is CMAKE_INSTALL_PREFIX: >> >> C:/Program Files/ITK4.12.2 >> >> and this is the install error message: >> >> 143> -- Install configuration: "Release" >> 143> -- Up-to-date: C:/Program Files/ITK4.12.2/lib/cmake/ITK- >> 4.12/ITKConfig.cmake >> 143> CMake Error at cmake_install.cmake:36 (file): >> 143> file INSTALL cannot set permissions on "C:/Program >> 143> Files/ITK4.12.2/lib/cmake/ITK-4.12/ITKConfig.cmake" >> >> >> (C:/Program Files/itk4.12.2 already exists) I've never had problems with >> cmake before. This is bizarre. >> >> >> What version of VS are you using? >> >> >> Cheers >> >> Gib >> ------------------------------ >> *From:* D?enan Zuki? >> *Sent:* Saturday, 16 December 2017 12:52 p.m. >> *To:* Gib Bogle >> *Cc:* insight-users >> *Subject:* Re: [ITK-users] Install problem on Windows 7 >> >> Hi Gib, >> >> as installing into C:/Program Files/ITK prefix works for me, it must be >> the CMake version. Fortunately, updating CMake is easy. >> >> Regards, >> D?enan >> >> On Fri, Dec 15, 2017 at 5:15 PM, Gib Bogle >> wrote: >> >>> I spoke too soon. I saw the install proceeding successfully, and leapt >>> to the conclusion that it was putting the files in the right place (I'd got >>> the mistaken idea that C:/Program Files/ITK4.12.2 was the default install >>> directory, by misinterpreting cmake_install.cmake). So the directories - >>> bin, include, lib, share - were all created under D:/. No big deal to copy >>> them to C:/Program Files/ITK4.12.2, but this is clearly an issue. Has >>> anybody else encountered this? >>> ------------------------------ >>> *From:* Insight-users on behalf of Gib >>> Bogle >>> *Sent:* Saturday, 16 December 2017 10:49 a.m. >>> *To:* insight-users >>> *Subject:* [FORGED] Re: [ITK-users] Install problem on Windows 7 >>> >>> >>> If I leave the CMAKE_INSTALL_PREFIX blank, it installs correctly (in the >>> same place I specified). It must be a cmake bug - no problem once you know >>> how to avoid it. >>> ------------------------------ >>> *From:* Insight-users on behalf of Gib >>> Bogle >>> *Sent:* Saturday, 16 December 2017 10:14 a.m. >>> *To:* insight-users >>> *Subject:* [FORGED] [ITK-users] Install problem on Windows 7 >>> >>> >>> I've been using ITK4.8.0, which I built two years ago, so I decided to >>> build 4.12.2, in case something has been fixed since then. >>> >>> >>> Following exactly the same procedure with cmake-gui as before, and >>> setting CMAKE_INSTALL_PREFIX as >>> >>> C:/Program Files/ITK4.12.2 >>> >>> everything goes fine (building with VS2010 Win64) until the actual >>> install step of copying the files to the install directory. The error >>> message is: >>> >>> >>> 135> -- Install configuration: "Release" >>> 135> CMake Error at cmake_install.cmake:31 (file): >>> 135> file cannot create directory: C:/Program >>> 135> Files/ITK4.12.2/lib/cmake/ITK-4.12. Maybe need administrative >>> privileges. >>> >>> >>> Clearly the CMAKE_INSTALL_PREFIX is not being treated correctly, and the >>> space is terminating the directory name. I tried putting quotes around it, >>> but that produced a similar but even more strange result - cmake had >>> inserted a ';', making the directory C:/Program;Files/ITK4.12.2 >>> >>> Is this an issue with the cmake version? I am using cmake 3.0.2. >>> >>> >>> I considered copying all the files by hand, but I'm not sure if that's >>> really feasible. >>> >>> 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://www.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: >>> https://itk.org/mailman/listinfo/insight-users >>> >>> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From g.bogle at auckland.ac.nz Fri Dec 15 21:38:45 2017 From: g.bogle at auckland.ac.nz (Gib Bogle) Date: Sat, 16 Dec 2017 02:38:45 +0000 Subject: [ITK-users] Install problem on Windows 7 In-Reply-To: References: <1513372442818.91803@auckland.ac.nz> <1513374577268.40106@auckland.ac.nz> <1513376102410.64141@auckland.ac.nz> <1513386525964.57264@auckland.ac.nz> <1513391123745.75903@auckland.ac.nz>, Message-ID: <1513391913669.19381@auckland.ac.nz> I agree, good to put this on the mailing list. I don't know how to stop Win7 from asking me to confirm that I want to use my administrator access rights. Normally it's just mildly irritating, but in this case it created a more serious problem. ________________________________ From: D?enan Zuki? Sent: Saturday, 16 December 2017 3:33 p.m. To: Gib Bogle; Insight-users Subject: Re: [ITK-users] Install problem on Windows 7 I usually disable the security prompts, they are too annoying. That might not matter on Win10 (I am running Win7). I am CC'ing the mailing list, so if someone comes across this again they can see what the solutions was. I have seen you shared xaas.tif. I will look into that next time I go to the office. Regards, D?enan On Fri, Dec 15, 2017 at 9:25 PM, Gib Bogle > wrote: I just realised that I was mistaken in thinking that VS was truncating the install directory name. It's just that the long filename was split over two lines. Duh! Now it seems that in fact it is a permissions issue, as you suggested. Although I have administrator rights, when I do things in some C: directories I am asked if I want to continue - to verify that I am using my administrator permission. It seems that at some stage the VS install wants to set permissions on ITKConfig.cmake, for some reason. I have now opened VS2010 by "Run as administrator", and successfully completed the install. Thanks for your help. By the way, did you see that I've put xaas.rar (compressed form of xaas.tif) on the Kitware data site? For some peculiar reason some of my posts on the Discourse site are being hidden, apparently being flagged by several members as spam. I have no idea what is causiing that. Cheers Gib ________________________________ From: D?enan Zuki? > Sent: Saturday, 16 December 2017 2:18 p.m. To: Gib Bogle; Insight-users Subject: Re: [ITK-users] Install problem on Windows 7 Hi Gib, are you running Visual Studio (or whatever is your make tool, e.g. ninja) as administrator? I suppose writing in Program Files requires administrative privileges. The Linux equivalent is make install does not work, so you need to do sudo make install. Regards, D?enan On Fri, Dec 15, 2017 at 8:08 PM, Gib Bogle > wrote: Hi Dzenan, I just updated cmake to 3.10, and went though the build procedure again. This is CMAKE_INSTALL_PREFIX: C:/Program Files/ITK4.12.2 and this is the install error message: 143> -- Install configuration: "Release" 143> -- Up-to-date: C:/Program Files/ITK4.12.2/lib/cmake/ITK-4.12/ITKConfig.cmake 143> CMake Error at cmake_install.cmake:36 (file): 143> file INSTALL cannot set permissions on "C:/Program 143> Files/ITK4.12.2/lib/cmake/ITK-4.12/ITKConfig.cmake" (C:/Program Files/itk4.12.2 already exists) I've never had problems with cmake before. This is bizarre. What version of VS are you using? Cheers Gib ________________________________ From: D?enan Zuki? > Sent: Saturday, 16 December 2017 12:52 p.m. To: Gib Bogle Cc: insight-users Subject: Re: [ITK-users] Install problem on Windows 7 Hi Gib, as installing into C:/Program Files/ITK prefix works for me, it must be the CMake version. Fortunately, updating CMake is easy. Regards, D?enan On Fri, Dec 15, 2017 at 5:15 PM, Gib Bogle > wrote: I spoke too soon. I saw the install proceeding successfully, and leapt to the conclusion that it was putting the files in the right place (I'd got the mistaken idea that C:/Program Files/ITK4.12.2 was the default install directory, by misinterpreting cmake_install.cmake). So the directories - bin, include, lib, share - were all created under D:/. No big deal to copy them to C:/Program Files/ITK4.12.2, but this is clearly an issue. Has anybody else encountered this? ________________________________ From: Insight-users > on behalf of Gib Bogle > Sent: Saturday, 16 December 2017 10:49 a.m. To: insight-users Subject: [FORGED] Re: [ITK-users] Install problem on Windows 7 If I leave the CMAKE_INSTALL_PREFIX blank, it installs correctly (in the same place I specified). It must be a cmake bug - no problem once you know how to avoid it. ________________________________ From: Insight-users > on behalf of Gib Bogle > Sent: Saturday, 16 December 2017 10:14 a.m. To: insight-users Subject: [FORGED] [ITK-users] Install problem on Windows 7 I've been using ITK4.8.0, which I built two years ago, so I decided to build 4.12.2, in case something has been fixed since then. Following exactly the same procedure with cmake-gui as before, and setting CMAKE_INSTALL_PREFIX as C:/Program Files/ITK4.12.2 everything goes fine (building with VS2010 Win64) until the actual install step of copying the files to the install directory. The error message is: 135> -- Install configuration: "Release" 135> CMake Error at cmake_install.cmake:31 (file): 135> file cannot create directory: C:/Program 135> Files/ITK4.12.2/lib/cmake/ITK-4.12. Maybe need administrative privileges. Clearly the CMAKE_INSTALL_PREFIX is not being treated correctly, and the space is terminating the directory name. I tried putting quotes around it, but that produced a similar but even more strange result - cmake had inserted a ';', making the directory C:/Program;Files/ITK4.12.2 Is this an issue with the cmake version? I am using cmake 3.0.2. I considered copying all the files by hand, but I'm not sure if that's really feasible. 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://www.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: https://itk.org/mailman/listinfo/insight-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From lasso at queensu.ca Fri Dec 15 23:50:14 2017 From: lasso at queensu.ca (Andras Lasso) Date: Sat, 16 Dec 2017 04:50:14 +0000 Subject: [ITK-users] Install problem on Windows 7 In-Reply-To: <1513391913669.19381@auckland.ac.nz> References: <1513372442818.91803@auckland.ac.nz> <1513374577268.40106@auckland.ac.nz> <1513376102410.64141@auckland.ac.nz> <1513386525964.57264@auckland.ac.nz> <1513391123745.75903@auckland.ac.nz>, <1513391913669.19381@auckland.ac.nz> Message-ID: Normally on Windows you don't install into your Program Files folder using Visual Studio. Instead, you create an NSIS installation package, which you can install/uninstall as usual. CMake's default C:\Program Files\ folder for install prefix is probably just blind copying from unix-type operating system. It is not necessary (and not a good idea in general) to run Visual Studio as administrator, just set CMAKE_INSTALL_PREFIX to a folder where your user has write access without elevation. Andras From: Community [mailto:community-bounces at itk.org] On Behalf Of Gib Bogle Sent: Friday, December 15, 2017 9:39 PM To: D?enan Zuki? ; Insight-users Subject: Re: [ITK] [ITK-users] Install problem on Windows 7 I agree, good to put this on the mailing list. I don't know how to stop Win7 from asking me to confirm that I want to use my administrator access rights. Normally it's just mildly irritating, but in this case it created a more serious problem. ________________________________ From: D?enan Zuki? > Sent: Saturday, 16 December 2017 3:33 p.m. To: Gib Bogle; Insight-users Subject: Re: [ITK-users] Install problem on Windows 7 I usually disable the security prompts, they are too annoying. That might not matter on Win10 (I am running Win7). I am CC'ing the mailing list, so if someone comes across this again they can see what the solutions was. I have seen you shared xaas.tif. I will look into that next time I go to the office. Regards, D?enan On Fri, Dec 15, 2017 at 9:25 PM, Gib Bogle > wrote: I just realised that I was mistaken in thinking that VS was truncating the install directory name. It's just that the long filename was split over two lines. Duh! Now it seems that in fact it is a permissions issue, as you suggested. Although I have administrator rights, when I do things in some C: directories I am asked if I want to continue - to verify that I am using my administrator permission. It seems that at some stage the VS install wants to set permissions on ITKConfig.cmake, for some reason. I have now opened VS2010 by "Run as administrator", and successfully completed the install. Thanks for your help. By the way, did you see that I've put xaas.rar (compressed form of xaas.tif) on the Kitware data site? For some peculiar reason some of my posts on the Discourse site are being hidden, apparently being flagged by several members as spam. I have no idea what is causiing that. Cheers Gib ________________________________ From: D?enan Zuki? > Sent: Saturday, 16 December 2017 2:18 p.m. To: Gib Bogle; Insight-users Subject: Re: [ITK-users] Install problem on Windows 7 Hi Gib, are you running Visual Studio (or whatever is your make tool, e.g. ninja) as administrator? I suppose writing in Program Files requires administrative privileges. The Linux equivalent is make install does not work, so you need to do sudo make install. Regards, D?enan On Fri, Dec 15, 2017 at 8:08 PM, Gib Bogle > wrote: Hi Dzenan, I just updated cmake to 3.10, and went though the build procedure again. This is CMAKE_INSTALL_PREFIX: C:/Program Files/ITK4.12.2 and this is the install error message: 143> -- Install configuration: "Release" 143> -- Up-to-date: C:/Program Files/ITK4.12.2/lib/cmake/ITK-4.12/ITKConfig.cmake 143> CMake Error at cmake_install.cmake:36 (file): 143> file INSTALL cannot set permissions on "C:/Program 143> Files/ITK4.12.2/lib/cmake/ITK-4.12/ITKConfig.cmake" (C:/Program Files/itk4.12.2 already exists) I've never had problems with cmake before. This is bizarre. What version of VS are you using? Cheers Gib ________________________________ From: D?enan Zuki? > Sent: Saturday, 16 December 2017 12:52 p.m. To: Gib Bogle Cc: insight-users Subject: Re: [ITK-users] Install problem on Windows 7 Hi Gib, as installing into C:/Program Files/ITK prefix works for me, it must be the CMake version. Fortunately, updating CMake is easy. Regards, D?enan On Fri, Dec 15, 2017 at 5:15 PM, Gib Bogle > wrote: I spoke too soon. I saw the install proceeding successfully, and leapt to the conclusion that it was putting the files in the right place (I'd got the mistaken idea that C:/Program Files/ITK4.12.2 was the default install directory, by misinterpreting cmake_install.cmake). So the directories - bin, include, lib, share - were all created under D:/. No big deal to copy them to C:/Program Files/ITK4.12.2, but this is clearly an issue. Has anybody else encountered this? ________________________________ From: Insight-users > on behalf of Gib Bogle > Sent: Saturday, 16 December 2017 10:49 a.m. To: insight-users Subject: [FORGED] Re: [ITK-users] Install problem on Windows 7 If I leave the CMAKE_INSTALL_PREFIX blank, it installs correctly (in the same place I specified). It must be a cmake bug - no problem once you know how to avoid it. ________________________________ From: Insight-users > on behalf of Gib Bogle > Sent: Saturday, 16 December 2017 10:14 a.m. To: insight-users Subject: [FORGED] [ITK-users] Install problem on Windows 7 I've been using ITK4.8.0, which I built two years ago, so I decided to build 4.12.2, in case something has been fixed since then. Following exactly the same procedure with cmake-gui as before, and setting CMAKE_INSTALL_PREFIX as C:/Program Files/ITK4.12.2 everything goes fine (building with VS2010 Win64) until the actual install step of copying the files to the install directory. The error message is: 135> -- Install configuration: "Release" 135> CMake Error at cmake_install.cmake:31 (file): 135> file cannot create directory: C:/Program 135> Files/ITK4.12.2/lib/cmake/ITK-4.12. Maybe need administrative privileges. Clearly the CMAKE_INSTALL_PREFIX is not being treated correctly, and the space is terminating the directory name. I tried putting quotes around it, but that produced a similar but even more strange result - cmake had inserted a ';', making the directory C:/Program;Files/ITK4.12.2 Is this an issue with the cmake version? I am using cmake 3.0.2. I considered copying all the files by hand, but I'm not sure if that's really feasible. 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://www.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: https://itk.org/mailman/listinfo/insight-users -------------- next part -------------- An HTML attachment was scrubbed... URL: From jhlegarreta at vicomtech.org Mon Dec 18 04:30:29 2017 From: jhlegarreta at vicomtech.org (Jon Haitz Legarreta) Date: Mon, 18 Dec 2017 10:30:29 +0100 Subject: [ITK-users] Install problem on Windows 7 In-Reply-To: References: <1513372442818.91803@auckland.ac.nz> <1513374577268.40106@auckland.ac.nz> <1513376102410.64141@auckland.ac.nz> <1513386525964.57264@auckland.ac.nz> <1513391123745.75903@auckland.ac.nz> <1513391913669.19381@auckland.ac.nz> Message-ID: Hi Gib, as it's been suggested, this is a known issue with Win 7's "C:\Program Files" directory; the OS will not allow you to install anything there without admin privileges. So not an ITK issue. May be the issue is present in newer Microsoft OS's as well (have not checked). Also, did you try to first post the question on https://discourse.itk.org/? It's weird that "it gets marked as spam" for a question like yours (talking about the installation question), if that mechanism of marking inappropriate/spam messages exists at all in the platform itself (have not seen a message with that "label" yet), instead of being your mail server the one doing "that job" [1] and you be missing the answers. Anyway, try again posting your next question on dhttps://discourse.itk.org/ directly ;-) [1] https://meta.discourse.org/t/discourse-emails-are-marked-as-spam-on-gmail/6685/12 -- On 16 December 2017 at 05:50, Andras Lasso wrote: > Normally on Windows you don?t install into your Program Files folder using > Visual Studio. Instead, you create an NSIS installation package, which you > can install/uninstall as usual. > > > > CMake?s default C:\Program Files\ folder for install prefix is probably just > blind copying from unix-type operating system. It is not necessary (and not > a good idea in general) to run Visual Studio as administrator, just set > CMAKE_INSTALL_PREFIX to a folder where your user has write access without > elevation. > > > > Andras > > > > From: Community [mailto:community-bounces at itk.org] On Behalf Of Gib Bogle > Sent: Friday, December 15, 2017 9:39 PM > To: D?enan Zuki? ; Insight-users > Subject: Re: [ITK] [ITK-users] Install problem on Windows 7 > > > > I agree, good to put this on the mailing list. > > > > I don't know how to stop Win7 from asking me to confirm that I want to use > my administrator access rights. Normally it's just mildly irritating, but > in this case it created a more serious problem. > > ________________________________ > > From: D?enan Zuki? > Sent: Saturday, 16 December 2017 3:33 p.m. > To: Gib Bogle; Insight-users > Subject: Re: [ITK-users] Install problem on Windows 7 > > > > I usually disable the security prompts, they are too annoying. That might > not matter on Win10 (I am running Win7). > > > > I am CC'ing the mailing list, so if someone comes across this again they can > see what the solutions was. > > > > I have seen you shared xaas.tif. I will look into that next time I go to the > office. > > > > Regards, > > D?enan > > > > On Fri, Dec 15, 2017 at 9:25 PM, Gib Bogle wrote: > > I just realised that I was mistaken in thinking that VS was truncating the > install directory name. It's just that the long filename was split over two > lines. Duh! Now it seems that in fact it is a permissions issue, as you > suggested. Although I have administrator rights, when I do things in some > C: directories I am asked if I want to continue - to verify that I am using > my administrator permission. It seems that at some stage the VS install > wants to set permissions on > > ITKConfig.cmake, for some reason. > > > > I have now opened VS2010 by "Run as administrator", and successfully > completed the install. > > > > Thanks for your help. By the way, did you see that I've put xaas.rar > (compressed form of xaas.tif) on the Kitware data site? For some peculiar > reason some of my posts on the Discourse site are being hidden, apparently > being flagged by several members as spam. I have no idea what is causiing > that. > > > > Cheers > > Gib > > ________________________________ > > From: D?enan Zuki? > Sent: Saturday, 16 December 2017 2:18 p.m. > To: Gib Bogle; Insight-users > > Subject: Re: [ITK-users] Install problem on Windows 7 > > > > Hi Gib, > > > > are you running Visual Studio (or whatever is your make tool, e.g. ninja) as > administrator? I suppose writing in Program Files requires administrative > privileges. The Linux equivalent is make install does not work, so you need > to do sudo make install. > > > > Regards, > > D?enan > > > > On Fri, Dec 15, 2017 at 8:08 PM, Gib Bogle wrote: > > Hi Dzenan, > > > > I just updated cmake to 3.10, and went though the build procedure again. > This is CMAKE_INSTALL_PREFIX: > > C:/Program Files/ITK4.12.2 > > and this is the install error message: > > 143> -- Install configuration: "Release" > 143> -- Up-to-date: C:/Program > Files/ITK4.12.2/lib/cmake/ITK-4.12/ITKConfig.cmake > 143> CMake Error at cmake_install.cmake:36 (file): > 143> file INSTALL cannot set permissions on "C:/Program > 143> Files/ITK4.12.2/lib/cmake/ITK-4.12/ITKConfig.cmake" > > > > (C:/Program Files/itk4.12.2 already exists) I've never had problems with > cmake before. This is bizarre. > > > > What version of VS are you using? > > > > Cheers > > Gib > > ________________________________ > > From: D?enan Zuki? > Sent: Saturday, 16 December 2017 12:52 p.m. > To: Gib Bogle > Cc: insight-users > Subject: Re: [ITK-users] Install problem on Windows 7 > > > > Hi Gib, > > > > as installing into C:/Program Files/ITK prefix works for me, it must be the > CMake version. Fortunately, updating CMake is easy. > > > > Regards, > > D?enan > > > > On Fri, Dec 15, 2017 at 5:15 PM, Gib Bogle wrote: > > I spoke too soon. I saw the install proceeding successfully, and leapt to > the conclusion that it was putting the files in the right place (I'd got the > mistaken idea that C:/Program Files/ITK4.12.2 was the default install > directory, by misinterpreting cmake_install.cmake). So the directories - > bin, include, lib, share - were all created under D:/. No big deal to copy > them to C:/Program Files/ITK4.12.2, but this is clearly an issue. Has > anybody else encountered this? > > ________________________________ > > From: Insight-users on behalf of Gib Bogle > > Sent: Saturday, 16 December 2017 10:49 a.m. > To: insight-users > Subject: [FORGED] Re: [ITK-users] Install problem on Windows 7 > > > > If I leave the CMAKE_INSTALL_PREFIX blank, it installs correctly (in the > same place I specified). It must be a cmake bug - no problem once you know > how to avoid it. > > ________________________________ > > From: Insight-users on behalf of Gib Bogle > > Sent: Saturday, 16 December 2017 10:14 a.m. > To: insight-users > Subject: [FORGED] [ITK-users] Install problem on Windows 7 > > > > I've been using ITK4.8.0, which I built two years ago, so I decided to build > 4.12.2, in case something has been fixed since then. > > > > Following exactly the same procedure with cmake-gui as before, and setting > CMAKE_INSTALL_PREFIX as > > C:/Program Files/ITK4.12.2 > > everything goes fine (building with VS2010 Win64) until the actual install > step of copying the files to the install directory. The error message is: > > > > 135> -- Install configuration: "Release" > 135> CMake Error at cmake_install.cmake:31 (file): > 135> file cannot create directory: C:/Program > 135> Files/ITK4.12.2/lib/cmake/ITK-4.12. Maybe need administrative > privileges. > > > > Clearly the CMAKE_INSTALL_PREFIX is not being treated correctly, and the > space is terminating the directory name. I tried putting quotes around it, > but that produced a similar but even more strange result - cmake had > inserted a ';', making the directory C:/Program;Files/ITK4.12.2 > > Is this an issue with the cmake version? I am using cmake 3.0.2. > > > > I considered copying all the files by hand, but I'm not sure if that's > really feasible. > > > 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://www.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: > https://itk.org/mailman/listinfo/insight-users > > > > > > > > > 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://www.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: > https://itk.org/mailman/listinfo/insight-users > From g.bogle at auckland.ac.nz Mon Dec 18 15:19:03 2017 From: g.bogle at auckland.ac.nz (Gib Bogle) Date: Mon, 18 Dec 2017 20:19:03 +0000 Subject: [ITK-users] Install problem on Windows 7 In-Reply-To: References: <1513372442818.91803@auckland.ac.nz> <1513374577268.40106@auckland.ac.nz> <1513376102410.64141@auckland.ac.nz> <1513386525964.57264@auckland.ac.nz> <1513391123745.75903@auckland.ac.nz> <1513391913669.19381@auckland.ac.nz> , Message-ID: <1513628339084.75668@auckland.ac.nz> Hi Jon, If you look at the "Problem reading RGB tiff" thread you'll see that the "marked as spam" problem occurred there, and was explained and fixed by Matt. My install problem was really the result of my misreading the error message (because of the way the path was split across two lines), and it all makes sense now. Cheers Gib ________________________________________ From: Jon Haitz Legarreta Sent: Monday, 18 December 2017 10:30 p.m. To: Andras Lasso Cc: Gib Bogle; D?enan Zuki?; Insight-users Subject: Re: [ITK-users] Install problem on Windows 7 Hi Gib, as it's been suggested, this is a known issue with Win 7's "C:\Program Files" directory; the OS will not allow you to install anything there without admin privileges. So not an ITK issue. May be the issue is present in newer Microsoft OS's as well (have not checked). Also, did you try to first post the question on https://discourse.itk.org/? It's weird that "it gets marked as spam" for a question like yours (talking about the installation question), if that mechanism of marking inappropriate/spam messages exists at all in the platform itself (have not seen a message with that "label" yet), instead of being your mail server the one doing "that job" [1] and you be missing the answers. Anyway, try again posting your next question on dhttps://discourse.itk.org/ directly ;-) [1] https://meta.discourse.org/t/discourse-emails-are-marked-as-spam-on-gmail/6685/12 -- On 16 December 2017 at 05:50, Andras Lasso wrote: > Normally on Windows you don?t install into your Program Files folder using > Visual Studio. Instead, you create an NSIS installation package, which you > can install/uninstall as usual. > > > > CMake?s default C:\Program Files\ folder for install prefix is probably just > blind copying from unix-type operating system. It is not necessary (and not > a good idea in general) to run Visual Studio as administrator, just set > CMAKE_INSTALL_PREFIX to a folder where your user has write access without > elevation. > > > > Andras > > > > From: Community [mailto:community-bounces at itk.org] On Behalf Of Gib Bogle > Sent: Friday, December 15, 2017 9:39 PM > To: D?enan Zuki? ; Insight-users > Subject: Re: [ITK] [ITK-users] Install problem on Windows 7 > > > > I agree, good to put this on the mailing list. > > > > I don't know how to stop Win7 from asking me to confirm that I want to use > my administrator access rights. Normally it's just mildly irritating, but > in this case it created a more serious problem. > > ________________________________ > > From: D?enan Zuki? > Sent: Saturday, 16 December 2017 3:33 p.m. > To: Gib Bogle; Insight-users > Subject: Re: [ITK-users] Install problem on Windows 7 > > > > I usually disable the security prompts, they are too annoying. That might > not matter on Win10 (I am running Win7). > > > > I am CC'ing the mailing list, so if someone comes across this again they can > see what the solutions was. > > > > I have seen you shared xaas.tif. I will look into that next time I go to the > office. > > > > Regards, > > D?enan > > > > On Fri, Dec 15, 2017 at 9:25 PM, Gib Bogle wrote: > > I just realised that I was mistaken in thinking that VS was truncating the > install directory name. It's just that the long filename was split over two > lines. Duh! Now it seems that in fact it is a permissions issue, as you > suggested. Although I have administrator rights, when I do things in some > C: directories I am asked if I want to continue - to verify that I am using > my administrator permission. It seems that at some stage the VS install > wants to set permissions on > > ITKConfig.cmake, for some reason. > > > > I have now opened VS2010 by "Run as administrator", and successfully > completed the install. > > > > Thanks for your help. By the way, did you see that I've put xaas.rar > (compressed form of xaas.tif) on the Kitware data site? For some peculiar > reason some of my posts on the Discourse site are being hidden, apparently > being flagged by several members as spam. I have no idea what is causiing > that. > > > > Cheers > > Gib > > ________________________________ > > From: D?enan Zuki? > Sent: Saturday, 16 December 2017 2:18 p.m. > To: Gib Bogle; Insight-users > > Subject: Re: [ITK-users] Install problem on Windows 7 > > > > Hi Gib, > > > > are you running Visual Studio (or whatever is your make tool, e.g. ninja) as > administrator? I suppose writing in Program Files requires administrative > privileges. The Linux equivalent is make install does not work, so you need > to do sudo make install. > > > > Regards, > > D?enan > > > > On Fri, Dec 15, 2017 at 8:08 PM, Gib Bogle wrote: > > Hi Dzenan, > > > > I just updated cmake to 3.10, and went though the build procedure again. > This is CMAKE_INSTALL_PREFIX: > > C:/Program Files/ITK4.12.2 > > and this is the install error message: > > 143> -- Install configuration: "Release" > 143> -- Up-to-date: C:/Program > Files/ITK4.12.2/lib/cmake/ITK-4.12/ITKConfig.cmake > 143> CMake Error at cmake_install.cmake:36 (file): > 143> file INSTALL cannot set permissions on "C:/Program > 143> Files/ITK4.12.2/lib/cmake/ITK-4.12/ITKConfig.cmake" > > > > (C:/Program Files/itk4.12.2 already exists) I've never had problems with > cmake before. This is bizarre. > > > > What version of VS are you using? > > > > Cheers > > Gib > > ________________________________ > > From: D?enan Zuki? > Sent: Saturday, 16 December 2017 12:52 p.m. > To: Gib Bogle > Cc: insight-users > Subject: Re: [ITK-users] Install problem on Windows 7 > > > > Hi Gib, > > > > as installing into C:/Program Files/ITK prefix works for me, it must be the > CMake version. Fortunately, updating CMake is easy. > > > > Regards, > > D?enan > > > > On Fri, Dec 15, 2017 at 5:15 PM, Gib Bogle wrote: > > I spoke too soon. I saw the install proceeding successfully, and leapt to > the conclusion that it was putting the files in the right place (I'd got the > mistaken idea that C:/Program Files/ITK4.12.2 was the default install > directory, by misinterpreting cmake_install.cmake). So the directories - > bin, include, lib, share - were all created under D:/. No big deal to copy > them to C:/Program Files/ITK4.12.2, but this is clearly an issue. Has > anybody else encountered this? > > ________________________________ > > From: Insight-users on behalf of Gib Bogle > > Sent: Saturday, 16 December 2017 10:49 a.m. > To: insight-users > Subject: [FORGED] Re: [ITK-users] Install problem on Windows 7 > > > > If I leave the CMAKE_INSTALL_PREFIX blank, it installs correctly (in the > same place I specified). It must be a cmake bug - no problem once you know > how to avoid it. > > ________________________________ > > From: Insight-users on behalf of Gib Bogle > > Sent: Saturday, 16 December 2017 10:14 a.m. > To: insight-users > Subject: [FORGED] [ITK-users] Install problem on Windows 7 > > > > I've been using ITK4.8.0, which I built two years ago, so I decided to build > 4.12.2, in case something has been fixed since then. > > > > Following exactly the same procedure with cmake-gui as before, and setting > CMAKE_INSTALL_PREFIX as > > C:/Program Files/ITK4.12.2 > > everything goes fine (building with VS2010 Win64) until the actual install > step of copying the files to the install directory. The error message is: > > > > 135> -- Install configuration: "Release" > 135> CMake Error at cmake_install.cmake:31 (file): > 135> file cannot create directory: C:/Program > 135> Files/ITK4.12.2/lib/cmake/ITK-4.12. Maybe need administrative > privileges. > > > > Clearly the CMAKE_INSTALL_PREFIX is not being treated correctly, and the > space is terminating the directory name. I tried putting quotes around it, > but that produced a similar but even more strange result - cmake had > inserted a ';', making the directory C:/Program;Files/ITK4.12.2 > > Is this an issue with the cmake version? I am using cmake 3.0.2. > > > > I considered copying all the files by hand, but I'm not sure if that's > really feasible. > > > 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://www.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: > https://itk.org/mailman/listinfo/insight-users > > > > > > > > > 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://www.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: > https://itk.org/mailman/listinfo/insight-users > From dzenanz at gmail.com Tue Dec 19 11:16:20 2017 From: dzenanz at gmail.com (=?UTF-8?B?RMW+ZW5hbiBadWtpxIc=?=) Date: Tue, 19 Dec 2017 11:16:20 -0500 Subject: [ITK-users] Registration In-Reply-To: <1512833958.S.14171.17976.f4-234-118.1513655454.7532@webmail.rediffmail.com> References: <1512833958.S.14171.17976.f4-234-118.1513655454.7532@webmail.rediffmail.com> Message-ID: Hi Prakash, "judge differences in 2 photographs" - without any constraints, this is a very hard problem, and currently unsolved in science. If you have a movement in the antenna, you can judge that by calculating a difference to reference image. But if you sometimes have also a movement of the camera, it becomes non-trivial to decide whether the camera has moved somewhat or the antenna did not deploy fully. Is this image a reference or field image? Can you attach some more so we can see the variability among them? It is really hard to give advice when we have to guess what kind of data you are working with. Regards, D?enan On Mon, Dec 18, 2017 at 10:50 PM, Surya Prakash wrote: > Hello D?enan, > Thanks for your suggestions. You asked for a sample of the data, one image > is attached herewith. Sometimes, there may be translation / rotation > involved in the field collected antenna image. How we can address that. > What examples I should follow. I apologies for posting directly. > > Similarly I am working on another problem. How I can judge differences in > 2 photographs acquired at different times. Translation and rotation will be > there as these photos are acquired manually using digital cameras. I am > looking for feature differences etc. > > Thanks & regards > Prakash > > On Sat, 09 Dec 2017 21:09:18 +0530 D?enan Zuki? wrote > >Hi Prakash, > what you might do is create mask of your deployed antenna and save it > along your reference image of the antenna. Then in field, acquire a new > image, apply the mask to both reference and field images, and then do a > difference. Try it with several different field images with different > lighting and states of deployment of the antenna to figure out a dependence > of pixel-wise difference in images and whether antenna was deployed > properly. > Regards,D?enan > On Sat, Dec 9, 2017 at 2:28 AM, Surya Prakash wrote: > Hi D?enan > > Thank you very much for your help and guidance. > > The images I am working with are 2D. Camera position is fixed with respect > to Antenna. Assuming there are no variations in foreground and background. > Lighting / Illumination may differ from lab and field conditions. > > In the lab, images are acquired in still condition. Even though camera is > fixed with respect to each other, the entire system is not stationary but > moving. > > Waiting for your advise > > > > Thanks & regards > > Prakash > > > > On Fri, 08 Dec 2017 20:27:39 +0530 D?enan Zuki? wrote > > >Hi Prakash, > > are the images you are working with 3D or 2D? If 2D, do they have variable > lighting, variable background, variable foreground (maybe something > obscuring the antenna)? Does the camera move relative to antenna or not? > > In the simplest case (camera not moving, lighting, foreground and > background not variable) you don't need to do any registration, just > subtract the images (reference and current) and compare difference against > a threshold to judge whether the antenna deployed. And each added variable > in the imaging process makes your task much harder. > > Is the camera just pivoting in a fixed position? You could get away with > translation only during registration. Camera moving and pivoting, but > pointing at the same location? You will need deformable registration, > probably with manual initialization too. And so forth. > > If you want more specific advice, be more specific in your question. And > show us some example images (reference and those being examined). > > And you might as well post it on discourse, more people will see it as we > moved the discussions there. > > Regards,D?enan > > On Thu, Dec 7, 2017 at 11:01 PM, Surya Prakash wrote: > > Hi D?enan, > > > > Thanks for the reply. Earlier I was using ITK and after a long gap again I > required it. Actually I am planning to use ITK for whether an antenna is > deployed properly or not. I have antenna images (reference). I want to > match the image of deployed antenna with the reference images to judge > whether it is deployed properly or not. There are two things. > > > > 1. If needed I should be able to register my present image with reference > image without using any control points (if possible) > > > > 2. Automatic change / difference between the images. > > > > As the example list is too vast can you please suggest what will be the > right choice for me. > > > > > > > > Thanks & regards > > > > Prakash > > > > > > > > > > > > On Thu, 07 Dec 2017 20:18:17 +0530 D?enan Zuki? wrote > > > > >Hi Surya, > > > > there are plenty of example for registration. You could take a look at the > ones on the wiki. > > > > Regards,D?enan > > > > On Thu, Dec 7, 2017 at 2:09 AM, Surya Prakash wrote: > > > > Hi all > > > > > > > > I have some reference images acquired previously. Current images I want to > register with those images. What examples of ITK I should follow > > > > > > > > > > > > > > > > Thanks & regards > > > > > > > > Prakash > > > > > > > > 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://www.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-users > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From francois.budin at kitware.com Fri Dec 22 13:24:50 2017 From: francois.budin at kitware.com (Francois Budin) Date: Fri, 22 Dec 2017 13:24:50 -0500 Subject: [ITK-users] [ANN] ITK 4.13 has been released! Message-ID: The Insight Segmentation and Registration Toolkit (ITK), is an open-source, cross-platform library for multidimensional image analysis. On behalf of the Insight Toolkit community, we are proud to announce that ITK 4.13.0 has been released! Links to the Sourceforge.net tarballs can be found on the download page: http://www.itk.org/ITK/resources/software.html Outline ---------- 1. Introduction 2. New Features 3. ITK Changelog 4. ITK Sphinx Examples Changelog 5. ITK Software Guide Changelog Introduction --------------- Developed by an international community, ITK collects best-of-breed algorithms for registering, segmenting, analyzing, and quantifying n-dimensional imaging data. The high-quality library facilitates reproducible research, provides a software resource for teaching image analysis, and offers a platform for commercial product development. Here are a few selected highlights for this release: - ITK is on PyPI: install ITK's Python wrapping with: `pip install itk` - IsotropicWavelets remote module: isotropic and steerable wavelets in the frequency domain - Improvement of the Image IO, including full 64 bit pixel support - ITK Python interface improvements: use ITK in a procedural way - Improved image and transform IO factory registration - ITK's thread pool refactored for improved performance This release brings multiple exciting new developments for ITK's Python wrapping. Binary Python Packages Binary Python wheels are available for Linux, macOS, and Windows, for Python 2.7 and the recent Python 3.X. The wheels have been published on PyPI, the Python package index. These binary wheels are built to be compatible with Python distributions from Python.org, system package managers like apt and Homebrew, and Anaconda. (official announcement here: https://blog.kitware.com/itk-is-on-pypi-pip-install-itk-is-here). This means that it has never been easier to install and start using ITK: one simple `pip install itk` command, and a few seconds later it is possible to start interactively processing images. External Module Python Packages Furthermore, Python packages for externally developed ITK modules can now be automatically generated and uploaded to PyPI. The module Python package is created by free GitHub continuous integration services. Like the main ITK packages, these packages embed documentation from Doxygen comments into Python docstrings. See https://blog.kitware.com/python-packages-for-itk-modules for details on how to get started. A number of novel ITK module Python packages have already been created this way, including itk-bonemorphometry itk-polartransform itk-texturefeatures itk-anisotropicdiffusionlbr itk-ultrasound itk-morphologicalcontourinterpolation itk-cuberille itk-ringartifact IsotropicWavelets Remove Module A Python package is available for a powerful new remote module, IsotropicWavelets. This module implements a multiresolution (MRA) analysis framework using isotropic and steerable wavelets in the frequency domain. This framework provides the backbone for state of the art filters for denoising, feature detection or phase analysis in N-dimensions. Since it is wrapped in Python, it is as easy to use as ITK: Install the module with `pip install itk-isotropicwavelets`. Write a Python script or start an interactive Python environment, and call `import itk`. All the functionality of IsotropicWavelets will be available. Procedural Filter Interface for Rapid Prototyping ITK v4.13.0 also incorporates an API improvement throughout the entire toolkit to facilitate rapid prototyping: ITK Python filters are now callables, so ITK can be used in a procedural way. It is possible to run filters without the need to declare a filter object first, and without the need to explicitly call ?Update()? on a pipeline. `itk.imwrite(itk.MedianImageFilter(itk.imread(?my_image.png?), Radius=4), ?my_output.png?)` This one-liner will read an image, filter it with the MedianImageFilter with a radius of 4 voxels, and save the result in a different file. Image IO Improvement, including Full 64 bit Pixel Support Several improvements have been made in the Image IO in this major release: 64 bit images are now consistently supported by all Image IOs. Additionally, MINC image IO is now enabled by default, Bruker IO improved and enabled by default, and DICOM support via DCMTK was greatly improved (and supported on MS Windows). See below ?Improved Factory Registration? for the last improvement of Image IO in this release. GoogleTest for Writing Tests An ITK module can be tested with GoogleTest library, using the CMake funtion `CreateGoogleTestDriver()`, in addition to the classic ITKTestDriver. This function will add the GTest dependency to your test. GoogleTest makes it easy to write a lot of different tests to verify that your code works. Examples of tests using this framework can be found in ITK in `Modules/Filtering/ImageGrid/test/itkSliceImageFilterTest.cxx`, `/Modules/Filtering/ImageIntensity/test/itkArithmeticOpsFunctorsTest.cxx`, and several other files. Improved Factory Registration Each module (including remote modules) can list the factories and formats they support. This information is used to automatically register all formats supported by modules loaded during configuration. When loading ITK with the CMake command `find_package()` and loading a limited number of ITK components, it is now possible to load all modules corresponding to a factory, e.g. ImageIO, TransformIO. To load all components of a factory, add the component `ITK` in the list of requested components. Here is an example that finds ITK with the ITKCommon module and all the available image and transform IO modules: `find_package(ITK COMPONENTS ITKCommon ITKImageIO ITKTransformIO REQUIRED)` ITK's Thread Pool Refactored for Improved Performance ITK's thread pool has been refactored for improved performance. To test the thread pool, set the environment variable: ITK_USE_THREADPOOL=1. Or, call the static method itk::MultiThreader::SetGlobalDefaultUseThreadPool(true); at the start of your application. The thread pool is still experimental, and its implementation and interface will be improved and modified in the near future. In part to support improved testing and support for DICOM image metadata, the ITK test driver now checks image spacing, origin, and direction when making baseline image comparisons. If your project uses the ITK test driver, new image baselines with correct metadata information may be required. Alternatively, pass the `--ignoreInputInformation` flag to the test driver. Congratulations to the 26 contributors to this release. We would especially like to recognize the new contributors: Laura Pascal, Beatriz Paniagua, Rene-Paul Debroize, Edwin Bennink, David K?gler, Adrien Bailly, and Steve Pieper. The next feature release, scheduled for June 2018, will be ITK 5.0. This release will introduce thread pools by default with an optional Intel Threading Building Blocks (TBB) backend, require C++11 compiler support, and require a newer version of CMake. New Features ------------------ * Wrapping Improvements - Binary Python packages are now available for Linux, macOS, and Windows. Install with: - pip install --upgrade pip - pip install itk - ITK modules developed on GitHub can generate their own Python package with freely available continuous integration services. - https://blog.kitware.com/python-packages-for-itk-modules/ - Example module Python packages now pip installable from PyPI: itk-bonemorphometry, itk-polartransform, itk-texturefeatures, itk-anisotropicdiffusionlbr, itk-ultrasound, itk-morphologicalcontourinterpolation, itk-cuberille, itk-isotropicwavelets, itk-ringartifact - Add wrapping for several classes: MultiResolutionIterationEvent, RegionOfInterestFilter for VectorImage's, FloatingPointExceptions, CorrelationMetricv4, DemonsMetricv4, JointHistogramMIMetricv4, ITKIOMesh. - Enable __call__() function in Python for itkTemplate objects to make ITK more Pythonic. A developer can run instantiate, run a filter, and get the output, in one single command. - Python docstrings are generated from the C++ doxygen documentation and directly integrated in the Python modules. - The unsigned short pixel type is now supported in ITK Python packages. - Bruker IO wrapping * New Remote Modules - SimpleITKFilters - The filters in this module may be wrappers of composites ITK filters, adapters of existing ITK filters or alternative implementations designed for SimpleITK's requirements. - http://github.com/SimpleITK/ITKSimpleITKFilters - TextureFeatures - Filters to estimate texture feature maps from N-dimensional grayscale images. - http://hdl.handle.net/10380/3574 - IsotropicWavelets - An ITK-based implementation of steerable isotropic wavelet transforms for multiscale phase analysis. - http://hdl.handle.net/10380/3558 * Core Improvements - GoogleTest available for testing in ITK - Support VCPKG, Microsoft's vcpkg C++ package management system for Visual Studio - Refactor ITK's ThreadPool implementation for performance - Addition of type long long and unsigned long long for images - Add options to itkTestDriver and itkTestingComparisonImageFilter to compare image size, origin, spacing, and direction - Add itk_module_examples() macro to simplify the creation of independent examples in remote modules - Improve factory registration mechanism (see highlighted features) - ITK Python modules now share the list of factories that are registered - Automatic enabling of the -fPIC flag for external modules - Detect the presence of feenableexcept to compile on Alpine Linux - Update GDCM import script for changes in upstream content - CMake minimum required version is now 2.8.12 * Filtering Improvements - Improve Not functor and filter to follow other logic functors - Separate functors from filters in header by operator groups - Move rank filters out of review - Explicitly warn and deprecate negative pixel spacing - Add SliceImageFilter - Move advance Demons registration filters out of review - Add ShapeLabelObject::GetRegion method - Many improvements in HoughTransform2DCirclesImageFilter * IO Improvements - Enable MINC IO by default - PNG IO was crashing instead of returning false when it couldn?t read image - Several DCMTK improvements: build DMCTK on Windows, replace ICONV with ICU in DCMTK dependencies, support color images (RGB/RGBA) - Use double floating point API for MetaImage: the text representation is now closer to the DICOM Image Orientation (Patient) or Image Position (Patient) attribute and will allow easier conversion from one representation to the other. - Fixed leak into user code - Updated the Bruker2DSeq reader to ParaVision 6.0 - ITKIOBruker is now its own module, migrated out of ITKReview * Documentation Improvements - Improvement of documentation Markdown files throughout the repository - Update old file headers/copyright notices. - Improve source code coding style - Enable offline Doxygen support - Expose RayCastInterpolateImageFunction members in Doxygen - Updated documentation for LabelStatisticsImageFilter::GetBoundingBox. - Document behaviors of ChangeLabelLabelMapFilter - New content in the ITK Software Guide on - Cross compilation - An entire new Coding Style Guide section - Python usage - Build configuration * Remote Module Updates - AnisotropicDiffusionLBR (08.31.2017) - Update MorphologicalContourInterpolation (09.22.2017) * Third Party Library Updates - Update pygccxml version (v1.9.0) - Update libPNG to track upstream libpng16 branch - Update version of DCMTK to 3.6.1_20170529 - Update CastXML to support GCC 7 (11.06.2017) - Update MetaIO (12.04.2017) - Adding libLBFGS third party library - Update MINC (09.14.2017) - Update VNL (10.05.2017) * *Lots* of important bug fixes * And much more! See details in the log below. Changes from v4.12.0 to v4.13.0 ------------------------------------------------ Adrien Bailly (1): ENH: add wrapping for MultiResolutionIterationEvent and other missing event Beatriz Paniagua (2): ENH: Updating pygccxml version ENH: Updating libPNG to track upstream libpng16 branch Brad King (2): ENH: Port GDCM update script to update-third-party.bash ENH: Update GDCM import script for changes in upstream content Bradley Lowekamp (93): DOC: fix spelling transfrom->transform ENH: Improve Not functor and filter to follow other logic functors ENH: Separate functors from filters in header by operator groups DOC: Fix spelling mistakes from SimpleITK JSON, from spellintian ENH: making available GoogleTest for testing in ITK COMP: Address missing ITK_TEMPLATE_EXPORT definition COMP: Use single line for string argument, by-pass multi-line issues COMP: Revert to CMake 2 compatible line comment ENH: Move rank filters out of review BUG: Use const for pipeline inputs and state functions ENH: Explicitly warn and deprecate negative pixel spacing. BUG: Modify google test to define _VARIADIC_MAX=10 COMP: Fix using system GoogleTest with a compiled system library ENH: Add SliceImageFilter COMP: Use itk::Math::abs over vnl_math_abs ENH: Add GetProbe method to collectors base. BUG: Add missing exports for GTest::* targets BUG: Fix computation of central moments for shape label map ENH: Adding operator functors from SimpleITK ENH: Choose efficient central moment computation for run BUG: Add missing OrientedBoundingBox option DOC: recommend using separate instances BUG: Manually set seed for ParticleSwarmOptimzerTest BUG: Fix computation of oriented bounding box BUG: shape label object elongation incorrectly zero ENH: Add GTest utilities for ITK ENH: adding explicit testing of computed label shape attributes BUG: Propagate make program to KWStyle ExternalProject BUG: Error only when unknown module is enabled. DOC: Document behaviors of ChangeLabelLabelMapFilter BUG: Document and assert improper usage of transform methods. COMP: Enable hidden visibility property with GoogleTest static libraries DOC: Doxygen namespace tag must be full namespace BUG: Fix computation for Jacobian local vector BUG: Cast to PrintType for MaskLabel variable printing ENH: Update FixedPointInverseDisplacementField remote module BUG: Error only when unknown module is enabled. BUG: Fix computation of central moments for shape label map BUG: shape label object elongation incorrectly zero BUG: Fix computation of oriented bounding box BUG: Add missing OrientedBoundingBox option ENH: Update FixedPointInverseDisplacementField remote module ENH: Only remove hidden visibility for C file with CMake<3 BUG: Print missing Seeds parameter and values used for Upper/Lower ENH: Remove unneeded m_Upper and m_Lower ivars ENH: Prefer raw pointers for pipelined owned objects ENH: Update to use CircleCI 2.0 ENH: Enable MINC IO by default ENH: Move advance Demons registration filters out of review BUG: Fix CircleCI command to upload test results ENH: Test SliceBySlice with non-zero index BUG: Use same origin for internal image as input image BUG: Remove duplicate code from local commit COMP: Remove MINC library level exports ENH: Add ProcessObject::AddOptionalInputName and more named inputs ENH: Make more use of AddOptionalInputName BUG: Use input macros for const correct pipeline inputs ENH: Remove input name when renamed and add tests BUG: Correct OBB names in GetAttributeFromName ENH: Add ShapeLabelObject::GetRegion method ENH: Hide MINC data in MINCIImageIO interface BUG: Remove newly added warning in ProcessObject AddRequiredInput BUG: Apply constant function specifier BUG: Fix marking of required inputs for GPU PDE registration BUG: Add missing getter method for PDE InitialDisplacementField ENH: Use Input macros for set/get GPU PDE inputs ENH: Move private GE format headers to src ENH: CircleCI use ccache and cache external data ENH: Extract reusable code into a copy image information functor ENH: Change Cast parent class to InPlaceImageFilter BUG: Add search paths for GoogleTest as source code on system BUG: Update BinaryImageToLabelMapFilter::m_NumberOfLabels COMP: Remove shadowing typedef ENH: Updating remote module TextureFeatures to 3.0.0 COMP: Use integer suffix for long long types BUG: Disable checking of OBB origin PERF: Use initialized global variable for default number of threads ENH: Add remote mote SimpleITKFilters ENH: Add type for MultiThreader used by the ProcessObject BUG: Don't use void pointer BUG: Fix LBFGS2 iteration count and iterface BUG: Use AutoPtr for initialization based resource acquisition BUG: Fix factory registration during static initialization BUG: Fix const correctness of GetDisplacementField, use named input STYLE: Use LineSearch conventions BUG: Relax timeout to 60 seconds for itkSimpleFastMutexLockTest COMP: Mark itkTimeVaryingBSplineVelocityFieldImageRegistrationTest long COMP: Address linking error using operator<< COMP: Must define target before adding compile definitions COMP: Issue a CMake warning if ITKV3_COMPATIBILITY COMP: Enable CMP0063, support setting visibility properties COMP: Enable CMP0063, support setting visibility properties COMP: Enable CMP0063, support setting visibility properties David K?gler (1): BUG: better support for OBJ mesh format D?enan Zuki? (21): ENH: adding an example and improving tests ENH: support VCPKG ENH: rewriting ThreadPool and enabling it by default ENH: docs and compiler fix for ThreadPool, improvements of itkBarrierTest ENH: turning off thread pool by default for now STYLE: minor fix in debug mode and clearer code intent by using macros STYLE: warn users of the DeformableSimplexMesh3DFilter's limitations ENH: Addition of type long long and unsigned long long for images STYLE: VTK Mesh IO code simplification COMP: fixing warnings BUG: a call to SetGlobalDefaultNumberOfThreads was not respected BUG: LONGLONG was not handled by DCMTKImageIO BUG: PNG IO: return false instead of crashing in CanReadFile COMP: fix a warning BUG: ThreadPool hangs on Windows when ITK is compiled as DLLs BUG: tests writing to the same file randomly fail during parallel invocation COMP: fixing 2 compile errors on some compilers ENH: adding JSON format report to resource probe BUG: NIFTI crashing when requested region is set BUG: colliding file names caused spurious test failures BUG: fix two rename mistakes introduced in previous patch Edwin Bennink (1): BUG: Fixed cylinder bbox, fixed and enhanced IsInside func Floris Berendsen (2): COMP: add symbol name mangling for niftilib in ITK COMP: add symbol name mangling for niftilib in ITK Francois Budin (54): ENH: Bump ITK version to 4.13.0. BUG: Update external data content links ENH: Add cleanup option to content synchronization script BUG: Used ITK_HAVE_FEENABLEEXCEPT instead of ITK_HAS_FEENABLEEXCEPT BUG: Used ITK_HAVE_FEENABLEEXCEPT instead of ITK_HAS_FEENABLEEXCEPT Revert "Merge branch 'feenableexcept-musl-for-release' into release" Merge branch 'upstream-metaio' into update_metaIO ENH: Bump CMakeLists.txt version to 4.12.1. COMP: Remove -fvisibility-inlines-hidden warning with CMake 2.8.12 BUG: Remove VNL view from array functions and rename wrong variable BUG: itkSimilarity2DTransform was not reporting singular matrices ENH: Add test to verify ITK-3553 fixes BUG: itkTestingComparisonImageFilter should derive from itkImageToImageFilter BUG: Update tests to use ImageToImage compare image filter ENH: Add options to itkTestDriver and itkTestingComparisonImageFilter ENH: Adds MINC image IO wrapping ENH: Replace ICONV with ICU to compile DCMTK DOC: Document that workaround MSVC 2017 optimization bug has been corrected BUG: sha512 file must exist before complaining that it hasn't been updated BUG: Missing files for DCMTK ImageOrientation test BUG: itkgdcmopenjp2 was not exported in the build tree in GDCM BUG: Duplicate SetInput()/GetInput() in itkTestingComparisonImageFilter BUG: ICU_ARGS CMake variable should be declared CACHE BUG: Typo in CMake variable name BUG: Build DMCTK on Windows BUG: Support color images (RGB/RGBA) with DCMTK ENH: Add test for colored images loaded with DCMTK BUG: ICU is always compiled statically ENH: Update DCMTK build instructions for Windows ENH: Adds itk_module_examples() macro COMP: Bump CMake required version to 2.8.12 ENH: Simplify itk-module-init.cmake for DCMTK BUG: Inconsistent image information between result and baseline BUG: Python docstrings were not generated anymore ENH: Add __call__() function in Python itkTemplate objects BUG: DMCTK configuration with ICU on Windows was only correct for VS2017 BUG: Remove man page generation that is not necessary anymore ENH: Improving factory registration ENH: Adding factory components ENH: Update remote modules using FACTORY_NAMES BUG: Add previously removed function __getattr__() in itkTemplate.py BUG: Synchronize factories across modules in Python ENH: Allow RAW itk-module as shared library BUG: ITK_WRAP_DOC should not be saved in ITKConfig.cmake BUG: Remove unicode characters that stop python docstring generation BUG: doxy2swig.py failed with Python3 BUG: Allow compilation of VNL with MSVC<1600 BUG: \default is not a doxygen keyword BUG: Better control of GDCM symbols with CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ENH: github comparison instead of shortlog in UpdateThirdPartyFromUpstream.sh BUG: DCMTK CMakeLists.txt detects MSVC versions in [1910,1919] as MSVC2017 BUG: itkObjectFactoryBase was making ITK initialization crash BUG: itkSpatialObject.cxx was not respecting ITK_FUTURE_LEGACY_REMOVE BUG: Create IO Meta modules at module loading time GCC-XML Upstream (1): ENH: pygccxml v1.9.0 (reduced) GDCM Upstream (4): GDCM 2017-09-15 (87e3c363) GDCM 2017-10-13 (46919364) GDCM 2017-11-09 (af81d444) GDCM 2017-11-23 (4c51c343) Google double-conversion Maintainers (1): ENH: Google double-conversion (reduced) GoogleTest Upstream (2): googletest 2016-07-14 (a3ac2d7f) GoogleTest 2017-12-11 (0fe96607) Hans Johnson (7): BUG: vnl_fft_1d lacks sufficient numerical stability COMP: Clang compiler regression ENH: Synchronized with cmake version of file BUG: Respect ITK_FUTURE_LEGACY_REMOVE COMP: Missing ITK_OVERRIDE for BinaryPruningIMageFilter BUG: Fix non-windows cmake configuration regression COMP: Fix VariationalRegistration for future const GetMacro support Jean-Baptiste VIMORT (2): ENH: Automatic enabling of the -fPIC flag for external modules ENH: Supression of GDCM's linking to CoreFoundation Jean-Christophe Fillion-Robin (6): ENH: Support installing each module python wrapping independently COMP: Update KWsys to set MACOSX_RPATH property based on CMAKE_MACOSX_RPATH COMP: Update MINC to set MACOSX_RPATH property based on CMAKE_MACOSX_RPATH COMP: ITKModuleExternal: Reset targets file BUG: Fix hook clone COMP: UseITK: Fix configure error due to different subproject requirements Jon Haitz Legarreta (14): ENH: Improve coverage for v3 compatibility image arithm filters. DOC: Fix typo in 'exception'. STYLE: Improve the itk::FastMarchingImageFilterBase class style. STYLE: Improve itkApproximageSignedDistanceMapImageFilterTest style. ENH: Check for input/output objects with an assertion. BUG: Fix const casting compiler errors. DOC: Update old file headers/copyright notices. STYLE: Improve the itkSmoothingRecursiveGaussiaImageFilter style. ENH: Improve coverage for itkSmoothingRecursiveGaussianImageFilter. BUG: Fix links to NOTICE and LICENSE files in README.md. STYLE: Conform (partially) to ITK coding style. DOC: Add missing links to Markdown file cross-refs. ENH: Add a Pull Request template. DOC: Remove extension to Markdown cross-ref link text. Jon Haitz Legarreta Gorro?o (23): STYLE: Change SubtractConstantFromImageFilterTest name. BUG: Add missing input image iterator declaration. BUG: Fix Superclass names in V3Compatibility tests. DOC: Fix wrong comments in V3Compatibility tests. DOC: Correct the preferred class names in ITKv4. COMP: Fix valgrind-detected uninitialized members. ENH: Improve coverage for itkWarpHarmonicEnergyCalculator. ENH: Bump lastest version of remote repository. ENH: Display error message in Iterator classes' wrapping. DOC: Add links to NOTICE and LICENSE files in README. DOC: Rework the contributing files. DOC: Document how to upload binary data in a Markdown file. DOC: Transition ThirdParty top-level README files to Markdown. DOC: Add third party project updating documentation markdown file. DOC: Document the release process in a Markdown file. DOC: Transition Utilities/Maintenance/README Markdown. DOC: Remove Documentation/Style.pdf file. DOC: Redirect the "Submit a patch" link to CONTRIBUTING.md. DOC: Mention the ITK full name in README.md. DOC: Fix broken links and oversights in CONTRIBUTING.md. DOC: Add a GitHelp.md resource to Documentation. DOC: Make the ITK long name be consistent in .md files. DOC: Create ISSUE_TEMPLATE.md KWSys Upstream (1): KWSys 2017-10-17 (fc4d55ba) Laura Pascal (2): ENH: Update version of DCMTK to 3.6.1_20170529 ENH: Update the DoubleConversion library upstream update script. Mathieu Malaterre (4): ENH: Explicit set the precision when printing double ENH: Use double floating point API for MetaImage ENH: Define a global default double precision for MetaImage ENH: Enforce data truncation for legacy tests Matthew McCormick (52): ENH: Add install rules for External Module Python package COMP: Do not wrap std::_Deque_alloc ENH: Wrap RegionOfInterestFilter for VectorImage's COMP: Disable CoreFoundation calls ENH: Execute the merge when updating third party subtrees ENH: Allow custom repo and branch for MetaIO subtree updates COMP: Specify AR to PCRE build on macOS BUG: Mark GoogleTest CMake options as advanced COMP: Address LBFGS2Optimizerv4 doxygen warnings BUG: ITKIOGE has a public dependency on ITKIOIPL COMP: Bump KWStyle to latest master ENH: Add TextureFeatures remote module COMP: Detect the presence of mallinfo COMP: IsNull() capitalization in LevelSetEquationAdvectionTerm ENH: Wrap FloatingPointExceptions COMP: Use GDCM_HAVE_BYTESWAP_H COMP: Fail early when byteswap functions are not available COMP: Detect the presence of feenableexcept BUG: Use itkGetConstObjectMacro for LogBiasFieldControlPointLattice COMP: Detect the presence of feenableexcept COMP: Use GDCM_HAVE_BYTESWAP_H COMP: Fix AnisotropicDiffusionLBR example build BUG: Correct GPUMeanImageFilter Superclass BUG: Remove debug code from GPUMeanImageFilter BUG: Do not use static_cast, SmartPointer in GPUImage::GetGPUDataManager BUG: Remove debug code in itkGPUImage.hxx COMP: Do not call vector.data() in ITKIOBruker ENH: Bump CMakeLists.txt version to 4.12.1 DOC: Format the README in markdown syntax DOC: Enable offline Doxygen support BUG: ITKIOMINC DEPENDS on ITKMINC BUG: Update Bruker IO wrapping after migration from ITKReview COMP: Update MorphologicalContourInterpolation to 2017-09-22 DOC: Do not pre-cache Doxygen php files DOC: Expose RayCastInterpolateImageFunction members in Doxygen BUG: RayCastInterpolateImageFunciton physical space issues COMP: Overloaded - operator ambiguous in RayCastInterpolateImageFunction BUG: Add missing template export for GradientAnisotropicDiffusionImageFilter ENH: Wrap {Correlation,Demons,JointHistogramMI} Metricv4 ENH: Add Python wrapping for ITKIOMesh BUG: Hide HDF5 CMake options from main configuration BUG: Add DCMTK external project dependency after ExternalProject_Add COMP: Bump CastXML to 2017-11-06 master BUG: Fix hooks clone when ITK is a submodule BUG: Remove duplicate entries of ITK_WRAP_PYTHON_LIBRARY_IMPORTS DOC: Remove broken HoughTransform2DCircles wiki examples link DOC: NeighborhoodIterator documentation formatting improvements COMP: Do not use export macro in vnl_amoeba default_verbose COMP: HoughTransform2DCirclesImageFilter lines too long for Software Guide BUG: Reset LIST_OF_IMAGEIO_FORMATS in UseITK.cmake COMP: Do not wrap itk::ObjectFactoryBasePrivate DOC: Update Python package release process MetaIO Maintainers (5): MetaIO 2017-07-20 (92caf34d) MetaIO 2017-08-17 (3e1cb552) MetaIO 2017-10-04 (55395e3d) MetaIO 2017-08-31 (5f935e1b) MetaIO 2017-12-04 (02a2e22e) Niels Dekker (23): COMP: Fixed leak into user code STYLE: Replaced NiftiImageHolder by AutoPointer COMP: Fixed "gifti_io.h" leak into user code COMP: Fixed "Ge5xHdr.h" leak into user code PERF: Break out of loop as soon as requested number of circles is found STYLE: Removed useless (or obsolete) local bool, 'found'. PERF: Avoid redundant search in GetCircles(n) PERF: GetCircles now calls Graft, instead of copying pixels from GetOutput(0) DOC: Added comment that the grafted output image should not be modified. STYLE: Removed HoughTransform GetCircles parameter (n) which appears obsolete ENH: Added deprecated GetCircles(unsigned int) overload to HoughTransform COMP: Replaced deprecated GetCircles(n) call in HoughTransform example BUG: HoughTransform CirclesList should be empty when NumberOfCircles is zero ENH: Tested HoughTransform CirclesList is empty when NumberOfCircles is zero BUG: HoughTransform GetCircles() should avoid circles with accumulator <= 0 STYLE: Removed HoughTransform GetLines parameter (n), which appears obsolete ENH: Improved HoughTransform2DCirclesImageFilter accuracy, using Math::Round BUG: HoughTransform GetLines() returned too many lines PERF: Improved speed of HoughTransform2DCirclesImageFilter::GenerateData() STYLE: HoughTransform calling convenience overload of SetVariance DOC: Mentioned that HoughTransform2DCirclesImageFilter also finds discs ENH: Allow different types accumulator and radius image Hough Circles filter BUG: Access violation itkGaussianDerivativeOperatorTest argv[0] Pablo Hernandez-Cerdan (4): ENH: Add External Module IsotropicWavelets. ENH: Update ExternalModule IsotropicWavelets to v0.4 ENH: Update IsotropicWavelets COMP: Fix macro ITK_NOEXCEPT, deprecate ITK_NOEXCEPT_OR_THROW Rene-Paul Debroize (1): ENH: Add remote module TBBImageToImageFilter Samuel Gerber (2): ENH: Adding libLBFGS third party library BUG: stdint.h missing on Visual Studio 9 Sean McBride (17): COMP: Added missing ITK_OVERRIDE COMP: fixed compilation error with int vs nullptr_t PERF: Fixed some comments; prefer preincrement COMP: Set GDCM_USE_COREFOUNDATION_LIBRARY off COMP: add itk prefix to gdcmopenjp2 library name COMP: Fixed some -Winconsistent-missing-override warnings COMP: Added ITK_OVERRIDE to hundreds of destructor declarations. COMP: Made ITK_OVERRIDE work only in MSVC >= 2012 (instead of 2010) COMP: Fixed Wshadow warnings by removing shadows COMP: Added a bunch more missing ITK_OVERRIDE COMP: suppress all compilers warnings from third party google test COMP: Added yet more ITK_OVERRIDEs, mostly on destructors COMP: Added yet more ITK_OVERRIDEs COMP: Fixed various -Wconst-qual warnings COMP: Fixed some Wcast-qual warnings COMP: Removed superfluous declarations in subclass, fixing override warnings COMP: Silence -Wunused-template warnings by making affected methods inline Simon Rit (1): COMP: remove dynamic exception specifications Steve Pieper (1): BUG: ITK-3553 fixes ImageOrientation issue in DCMTK reader Tobias Wood (3): ENH: Updated the Bruker2DSeq reader to ParaVision 6.0 BUG: Bruker2dseq was not registered correctly due to module name change. BUG: Fixed origin & orientation issues. VXL Maintainers (2): VNL 2017-10-05 (dd7794d9) VNL 2017-12-08 (a1573ca8) Vladimir S. FONOV (2): MINC 2017-09-14 (e11c6df9) MINC 2017-10-18 (f2d06a67) Ziv Yaniv (2): DOC: Updated documentation for LabelStatisticsImageFilter::GetBoundingBox. BUG: itkVTKImageIO::CanWriteFile accepted files with wrong extension. ITK Sphinx Examples Changelog ----------------------------------------------- Bradley Lowekamp (1): Add python syntax highlighting D?enan Zuki? (1): COMP: allow examples to build when ITK_LEGACY_REMOVE is enabled Francois Budin (1): ENH: Bump ITK version to 4.13.0 Jon Haitz Legarreta (2): ENH: Add WatershedImageFilter example. ENH: Improve layout and doc for adaptive histogram equalization example. Jon Haitz Legarreta Gorro?o (4): ENH: Update the ToDo list of examples to import from Wiki. ENH: Add an example for itk::AdaptiveHistogramEqualizationImageFilter. BUG: Fix the example images not being rendered. DOC: Improve the README.rst code syntax. Matt McCormick (2): DOC: Update documentation to install PyPI package STYLE: Make Python code in src/ flake8 compliant ITK Software Guide Changelog ----------------------------------------------- Francois Budin (1): ENH: Add patch number to ITK version in Software guide Jon Haitz Legarreta (4): ENH: Make class and brief dcostring keywords' start columns consistent. DOC: Update the ITK logo to the new ITK logo. DOC: Fix ParseCxxExamples.py script location in README.md. DOC: Fix use of \center vs. \centering in figures. Jon Haitz Legarreta Gorro?o (17): DOC: Update to the official name of Apple OS systems. DOC: Remove redundant greater-than sign in path. DOC: Keep ITK CMake minimum required version consistency. DOC: Update the Advanced Module Configuration CMake options. DOC: Update Figures 2.2 and 2.3 in Advanced Module Configuration. DOC: Update supported compilers' list. DOC: Transition SoftwareGuide/Cover and Latex READMEs to Markdown DOC: Fix ITK long name case mismatch. DOC: Fix Coding Style Guide formatting issues. DOC: Add Documentation Style section. DOC: Add a CMake Style item to the Overview section. DOC: Mention the ITK full name in common abstract. DOC: Add a cross compilation section to Configuring and Building ch. DOC: Add content to empty example in Variable Initialization DOC: Use tilde to connect names and references. DOC: Enhance the README.md syntax. DOC: Add a test layout subsection. Matt McCormick (17): DOC: Correct Coding Style Guide doxygen links ENH: Enable specification of ITK_GIT_TAG in the superbuild COMP: Use the xcolor package instead of color ENH: Split Running and Parsing examples into an ExternalProject ENH: Improve EPS conversion operation output ENH: Add support for Ninja job pools COMP: Address undefined colorlet command COMP: Undefined toprule command COMP: Undefined control sequence cellcolor COMP: Undefined table configuration BUG: Do not add_subdirectory(Examples) for ITKSoftwareGuide build BUG: Do not depend on Examples generated .tex sources BUG: Update ITK version to 2017-12-15 master COMP: Remove ITKV3_COMPATIBILITY ENH: Add CircleCI configuration ENH: Propagate CMAKE_{C,CXX}_COMPILER_LAUNCHER in superbuild ENH: Bump ITK version to 4.13.0 -------------- next part -------------- An HTML attachment was scrubbed... URL: