<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.Section1
        {page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=EN-US link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal>Hello there,<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>I just tried to use the ImageFileWriter in combination with
an ImageAdaptor that does nothing else but to cast data. Unfortunately it is
not working, since the ImageFileWriter is working on the raw buffer by calling (ll.
278-279 itkImageFileWriter.cxx)<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:blue'>const</span><span style='font-size:10.0pt;
font-family:"Courier New"'> <span style='color:blue'>void</span>* <span
style='color:#010001'>dataPtr</span> = (<span style='color:blue'>const</span> <span
style='color:blue'>void</span>*) <span style='color:#010001'>input</span>-&gt;<span
style='color:#010001'>GetBufferPointer</span>();<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:#010001'>m_ImageIO</span><span style='font-size:10.0pt;font-family:"Courier New"'>-&gt;<span
style='color:#010001'>Write</span>(<span style='color:#010001'>dataPtr</span>);<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal>On the first glance it may seem to be weird to do such a
thing (I mean using the adaptor), since one might argue that I could simply
tell my ImageFileWriter that I am going to write images of an appropriate type making
casting not required.<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>Actually my setup is a little bit problematic. My general task
lies in converting DICOM files. I switched to the ImageAdaptor, since my source
image consumes already 1.1 GB in memory (I just read a DICOM file, unsigned short)
and if I wanted to convert it to another image type, I would be required to
allocate another 1.1 GB (e.g. for signed short). As many of you may know
Windows does not give us (without some nasty hacks) more than 2 GB of memory &#8211;
and here is the reason why I switched to ImageAdaptors. The one I used (a
similar one to that presented in the Software Guide) just casts the data.<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>Actually GDCM already fails, if used in combination with the
itkImageSeriesFileReader in cases where the DICOM has a different format than
the image request within ITK and when on top of all things the DICOM is bigger
than 1GB.<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>The only solution I can think about for now is to do&nbsp;
some in-place casting and then using the in-place converted buffer via the itkImportImageFilter.
This sounds really nasty and will only work if my source and destination data types
have the same sizes.<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>I am now wondering if anybody can be of help with this issue?
It would be much appreciated.<o:p></o:p></p>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal>Regards,<o:p></o:p></p>

<p class=MsoNormal>Hauke<o:p></o:p></p>

</div>

</body>

</html>