[Insight-users] Loading a CT Volume in C# - SimpleITK or ITK
Bradley Lowekamp
blowekamp at mail.nih.gov
Fri Sep 6 12:16:35 EDT 2013
Hello Jason,
You are correct that you need a method like ImageSeriesReader::GetGDCMSeriesFilenames()[1] which is a static member function in C++.
I am not certain, but I believe SWIG translate these static member methods to global functions with names such as ImageSeriesReader_GetGDCMSeriesFilenames. But hopefully you can search for that function name and find it in the assembly.
Please let up know if you figure it out,
Brad
[1] http://www.itk.org/SimpleITKDoxygen/html/classitk_1_1simple_1_1ImageSeriesReader.html#a26da9041bf5efd3db05524258de15dc2
On Sep 5, 2013, at 6:11 PM, Jason Gibbs <jdgibbs at gmail.com> wrote:
> Hello,
>
> I am writing a pure C# based application and first started out using the SimpleITKCSharpManaged assembly. I'm attempting to load a DICOM image from a folder. It is known the folder contains only one series. However, I'm having trouble ordering the files correctly.
>
> Doing this loads an image, but the slices are all out of order:
> var FilesInFolder = Directory.EnumerateFiles(m_folder).ToList();
>
> itk.simple.ImageSeriesReader reader = new itk.simple.ImageSeriesReader();
> itk.simple.VectorString vs = new itk.simple.VectorString();
>
> foreach (var file in FilesInFolder)
> vs.Add(file);
> reader.SetFileNames(vs);
>
> m_ITKImg = reader.Execute();
>
> I realize that I need something along the lines of GetGDCMSeriesFileNames to order the files correctly. It seems this is a public static member of itk.simple.ImageSeriesReader. However this does not seem to appear in the assembly metadata (below). Is there something I'm missing or a different route to achieve the same end result of loading the image in C#? I'm assuming that others have loaded CT volumes in the C# wrapper before so I'm guessing it's something I'm doing incorrectly. Thank you for any help!
>
> Jason Gibbs
>
>
> #region Assembly SimpleITKCSharpManaged.dll, v2.0.50727
> // C:\Users\jgibbs\Documents\Visual Studio 2010\Projects\DisplayDICOM\DisplayDICOM\SimpleITKCSharpManaged.dll
> #endregion
>
> using System;
>
> namespace itk.simple
> {
> public class ImageSeriesReader : IDisposable
> {
> protected bool swigCMemOwn;
>
> public ImageSeriesReader();
>
> public virtual void Dispose();
> public Image Execute();
> public VectorString GetFileNames();
> public ImageSeriesReader SetFileNames(VectorString fns);
> }
> }
>
> _____________________________________
> 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://www.itk.org/mailman/listinfo/insight-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/pipermail/insight-users/attachments/20130906/97c701e1/attachment.htm>
More information about the Insight-users
mailing list