<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Dear Hui,<br>
<br>
In ITK3, the "evolution" class inherits from a ProcessObject and you
are right this is the typical way to add one more input to a filter,
to benefit from ITK's pipeline architecture.<br>
<br>
Here, LevelSetEquationChanAndVeseInternalTerm inherits from
LevelSetEquationTermBase, which inherits from Object. Thus a term is
not a filter, there is no input, no output.<br>
You can also add as many internal members. You can now decide what
is going to be inside your term.<br>
<br>
You can definitively add another InputImagePointer m_MeanImage.<br>
<br>
BTW, are you hacking itkLevelSetEquationChanAndVeseInternalTerm.* ?
<br>
<br>
Arnaud<br>
<br>
On 10/02/2011 04:03 PM, Hui Tang wrote:
<blockquote
cite="mid:CAEz0C-54fPrah3ytBv5f-zAXnoAh1txZOydNY3qf3U4P2MCx3g@mail.gmail.com"
type="cite">
<div><font color="#000000">Dear Arnaud,</font></div>
<div> </div>
<div><font color="#000000">thanks for the quick reply!!!</font></div>
<div> </div>
<div><font color="#000000">Yes you are very right, I need to do
that by m_Mean = m_MeanImage->GetPixel( iP ).</font></div>
<div> </div>
<div><font color="#000000">By the way in ITK3 I used <font
size="2"><font size="2">this->ProcessObject::SetNthInput(1,InputImageType*
image) to add one more image as input, but in ITK 4, it
seems that ProcessObject is not a member function of <font
size="2"><font size="2">itkLevelSetEquationChanAndVeseInternalTerm
or <font color="#010001" size="2"><font
color="#010001" size="2">
<p>LevelSetEquationTermBase.</p>
<p>I guess I can add one more class member
InputImageType* m_MeanImage?</p>
<p>Thanks again for the reply.</p>
<p> </p>
<p>Best,</p>
<p> </p>
<p>Hui</p>
</font></font></font></font></font></font></font><font
color="#000000"><br>
</font></div>
<div><font color="#000000">Please, let us know if it works.</font></div>
<div><font color="#000000"><br>
<br>
</font></div>
<div class="gmail_quote"><font color="#000000">On Sun, Oct 2, 2011
at 9:21 PM, Arnaud Gelas <span dir="ltr"><<a
moz-do-not-send="true"
href="mailto:Arnaud_Gelas@hms.harvard.edu">Arnaud_Gelas@hms.harvard.edu</a>></span>
wrote:<br>
</font>
<blockquote style="border-left: 1px solid rgb(204, 204, 204);
margin: 0px 0px 0px 0.8ex; padding-left: 1ex;"
class="gmail_quote">
<div style="word-wrap: break-word;"><font color="#000000">Hi
Hui, </font>
<div><br>
</div>
<div><font color="#000000">The principle of Chan and Vese
formulation is to assume there are two parts in your
image: background and foreground and each of them are
represented by a constant mean value.</font></div>
<div><font color="#000000">In the implementation, we did
follow the same principle, e.g. the mean is a scalar if
you are working with scalar images, a vector if you are
working with vector images, etc.</font></div>
<div><font color="#000000"><br>
</font></div>
<div><font color="#000000">So, now you want to create a new
term / formulation (there might be a specific name for
that, but I am not aware of it).</font></div>
<div><font color="#000000">Once you provide the mean image,
you need to replace m_Mean by the pixel value for the
given input location iP. In your special case, most
likely you would only need to change m_Mean by
m_MeanImage->GetPixel( iP )</font></div>
<div><font color="#000000"><br>
</font></div>
<div><font color="#000000">Please, let us know if it works.</font></div>
<div><font color="#000000"><br>
</font></div>
<div><font color="#000000">Best,</font></div>
<div><font color="#000000">Arnaud</font></div>
<div>
<div class="h5">
<div><font color="#000000"><br>
</font></div>
<div><font color="#000000"> </font></div>
<div>
<div>
<div><font color="#000000">On Oct 2, 2011, at 1:55
PM, Hui Tang wrote:</font></div>
<br>
<blockquote type="cite">
<div><font color="#000000">Dear Arnaud,</font></div>
<div><font color="#000000"> </font></div>
<div><font color="#000000">That works!!Thanks!</font></div>
<div><font color="#000000">Now may I ask if my
mean intensity is a constant over time but
varies in the image, so I will have a mean
intensity image, how can I add that to interal
term? I know how to get and set image to get
the mean intensity image, but in update(), it
seems that this->mean can only be a
scalar.......</font></div>
<div><font color="#000000"> </font></div>
<div><font color="#000000">Do you have any idea on
solve this?</font></div>
<div><font color="#000000"> </font></div>
<div><font color="#000000">thanks,</font></div>
<div><font color="#000000"> </font></div>
<div><font color="#000000">Best,</font></div>
<div><font color="#000000"> </font></div>
<div><font color="#000000">Hui</font></div>
<div><br>
<br>
<font color="#000000"> </font></div>
<div class="gmail_quote"><font color="#000000">On
Fri, Sep 30, 2011 at 3:14 PM, Arnaud Gelas <span
dir="ltr"><<a moz-do-not-send="true"
href="mailto:arnaud_gelas@hms.harvard.edu"
target="_blank">arnaud_gelas@hms.harvard.edu</a>></span>
wrote:<br>
</font>
<blockquote style="border-left: 1px solid
rgb(204, 204, 204); margin: 0px 0px 0px 0.8ex;
padding-left: 1ex;" class="gmail_quote">
<div text="#000000" bgcolor="#ffffff"><font
color="#000000">Hi Hui,<br>
<br>
Sorry, there was a typo in my previous
email :-/...<br>
<br>
Here you go:<br>
<br>
$ git checkout -t origin/v4.0b01<br>
<br>
Here are the *.h you are looking for<br>
<br>
$ find . | grep
itkBinaryImageToWhitakerSparseLevelSetAdaptor.h<br>
./Modules/Segmentation/LevelSetsv4/include/itkBinaryImageToWhitakerSparseLevelSetAdaptor.hxx<br>
./Modules/Segmentation/LevelSetsv4/include/itkBinaryImageToWhitakerSparseLevelSetAdaptor.h<br>
<br>
To be able to use the LevelSetsv4, you
should either build ITK with all modules,
or explicitly turn on the LevelSetsv4 one
(which is part of the Segmentation group).<br>
<br>
Please keep the conversation on the
mailing list, other users may have the
same problem.<br>
<br>
Best,<br>
Arnaud </font>
<div>
<div><br>
<br>
<font color="#000000">On 09/30/2011
09:06 AM, Hui Tang wrote: </font>
<blockquote type="cite">
<div><font color="#000000">Dear
Arnaud, </font></div>
<div><font color="#000000"> </font></div>
<div><font color="#000000">Thanks for
your help. I still can not find
itkBinaryImageToWhitakerSparseLevelSetAdaptor.h
in v4.0b1. </font></div>
<div><font color="#000000">git shows
the version number, so it should
be right.....</font></div>
<div><font color="#000000">Best,</font></div>
<div><font color="#000000"> </font></div>
<div><font color="#000000">Hui</font></div>
<div class="gmail_quote"><font
color="#000000">On Thu, Sep 29,
2011 at 7:05 PM, Hui Tang <span
dir="ltr"><<a
moz-do-not-send="true"
href="mailto:tanghui.seu@gmail.com"
target="_blank">tanghui.seu@gmail.com</a>></span>
wrote:<br>
</font>
<blockquote style="border-left: 1px
solid rgb(204, 204, 204); margin:
0px 0px 0px 0.8ex; padding-left:
1ex;" class="gmail_quote">
<p><font color="#000000">Hi arnaud
thanks a loooooot for this! I
will try, I will let you know
how it works:) best hui </font></p>
<div class="gmail_quote"><font
color="#000000">Op 29 sep.
2011 18:55 schreef "Gelas,
Arnaud Joel Florent" <</font><a
moz-do-not-send="true"
href="mailto:Arnaud_Gelas@hms.harvard.edu"
target="_blank"><font
color="#000000">Arnaud_Gelas@hms.harvard.edu</font></a><font
color="#000000">> het
volgende: </font>
<div>
<div><br type="attribution">
<font color="#000000">>
Hi Hui Tang,<br>
> <br>
> I am really happy to
see you are interested and
are testing the new level
set infrastructure!<br>
> <br>
> If you get this
error, I can only assume
that you are now using the
git master version of ITK,
this file has been remove
recently from the
repository...<br>
> I would strongly
recommend to stick to ITK
tags, since API keeps on
changing all around the
place in the toolkit.<br>
> <br>
> Here is how you'd get
the last tagged version:<br>
> <br>
> $ git fetch --all<br>
> $ git checkout -t
origin/v4.0b1<br>
> <br>
> With this version,
you should be able to find
itkBinaryImageToWhitakerSparseLevelSetAdaptor.h<br>
> <br>
> If you are more
adventurous, and want to
be part of the
development, you can use
master, but expect API /
files / class name to
change.<br>
> You can also create a
gerrit account to review
patches (instructions are
on the wiki). Note that
all contributions / inputs
on this effort are
welcome!!<br>
> <br>
> Now regarding your
question, this is really
easy to make it happened
in the v4 infrastructure.
You have two
possibilities:<br>
> <br>
> 1- grab the code from
iternal or external term
(depending on your case);
copy the code; you modify
and remove the part in
which the mean gets
updated.<br>
> and you add
itkSetMacro to set the
mean at the beginning.<br>
> <br>
> 2- you inherit, might
need to change some method
to virtual (if needed, let
me know that'd be easy to
fix).<br>
> <br>
> If you need more
details on how to proceed
for 1 or 2, just let me
know, we can definitively
give you some more details
on how to proceed.<br>
> <br>
> Thanks,<br>
> <br>
> Best,<br>
> Arnaud<br>
> <br>
>
________________________________________<br>
> From: Hui Tang [</font><a
moz-do-not-send="true"
href="mailto:tanghui.seu@gmail.com"
target="_blank"><font
color="#000000">tanghui.seu@gmail.com</font></a><font
color="#000000">]<br>
> Sent: Thursday,
September 29, 2011 12:20
PM<br>
> To: Gelas, Arnaud
Joel Florent<br>
> Subject: Questions
about ITK4<br>
> <br>
> Dear Arnaud,<br>
> <br>
> How are you?<br>
> I am using ITK4, but
this headfile
"itkBinaryImageToWhitakerSparseLevelSetAdaptor.h"
can not be found in ITK4.
Did I do anything wrong?<br>
> And maybe you could
help me with another
question:) in chanvase
model, if my I would like
to have a fixed average
intensity ("c1") for the
foreground how can I
implement that using ITK4?<br>
> <br>
> Thanks so much.<br>
> <br>
> Looking forward to
your reply.<br>
> <br>
> Best,<br>
> <br>
> Hui Tang<br>
</font></div>
</div>
</div>
</blockquote>
</div>
<br>
</blockquote>
<br>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</blockquote>
</div>
<br>
</div>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</blockquote>
<br>
</body>
</html>