From info-volumizer-owner@els.sgi.com Wed Jun  9 20:56:53 2004
Received: (from majordom@localhost)
	by els.sgi.com (8.12.10/8.12.2/els-2.2) id i5A3tQxK139699;
	Wed, 9 Jun 2004 20:55:26 -0700 (PDT)
Received: from web60006.mail.yahoo.com (web60006.mail.yahoo.com [216.109.116.229])
	by els.sgi.com (8.12.10/8.12.2/els-2.2) with SMTP id i59GU2aV443501
	for <info-volumizer@els.sgi.com>; Wed, 9 Jun 2004 09:30:06 -0700 (PDT)
Message-ID: <20040609161655.67758.qmail@web60006.mail.yahoo.com>
Received: from [205.211.160.1] by web60006.mail.yahoo.com via HTTP; Wed, 09 Jun 2004 09:16:55 PDT
Date: Wed, 9 Jun 2004 09:16:55 -0700 (PDT)
From: fang liu <liufangokok@yahoo.com>
Subject: [info-volumizer] ask question about volview
To: info-volumizer@els.sgi.com
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="0-1423542400-1086797815=:65704"
Sender: owner-info-volumizer@els.sgi.com
Precedence: bulk
Reply-To: info-volumizer@els.sgi.com

--0-1423542400-1086797815=:65704
Content-Type: text/plain; charset=us-ascii

Hi all,
 
I am working on IRIX, used /usr/share/Volumizer2/bin/ClipGen3d  to transfer my volume data, then displayed my volume data in volview. I want to modify my volume data in volview, what should I do to write process function in volview? I am using Volumizer2.6.
 
Thanks,
 
Regards,
Fang
 

		
---------------------------------
Do you Yahoo!?
Friends.  Fun. Try the all-new Yahoo! Messenger
--0-1423542400-1086797815=:65704
Content-Type: text/html; charset=us-ascii

<DIV>Hi all,</DIV>
<DIV>&nbsp;</DIV>
<DIV>I am working on IRIX, used /usr/share/Volumizer2/bin/ClipGen3d&nbsp; to transfer my volume data, then displayed my volume data in volview. I want to&nbsp;modify my volume data in volview, what should I do to write process function in volview? I am using Volumizer2.6.</DIV>
<DIV>&nbsp;</DIV>
<DIV>Thanks,</DIV>
<DIV>&nbsp;</DIV>
<DIV>Regards,</DIV>
<DIV>Fang</DIV>
<DIV>&nbsp;</DIV><p>
		<hr size=1><font face=arial size=-1>Do you Yahoo!?<br>Friends.  Fun. <a href="http://messenger.yahoo.com/">Try the all-new Yahoo! Messenger</a>
--0-1423542400-1086797815=:65704--

From info-volumizer-owner@els.sgi.com Wed Jun  9 21:44:39 2004
Received: (from majordom@localhost)
	by els.sgi.com (8.12.10/8.12.2/els-2.2) id i5A4i5Cq452743;
	Wed, 9 Jun 2004 21:44:05 -0700 (PDT)
Received: from sgindia.newdelhi.sgi.com (sgindia.newdelhi.sgi.com [134.14.90.2])
	by els.sgi.com (8.12.10/8.12.2/els-2.2) with ESMTP id i5A4aDaV453095
	for <info-volumizer@els.sgi.com>; Wed, 9 Jun 2004 21:37:02 -0700 (PDT)
Received: from praveenlaptop ([134.14.90.74]) by sgindia.newdelhi.sgi.com (980427.SGI.8.8.8/980728.SGI.AUTOCF) via SMTP id IAA86095 for <info-volumizer@els.sgi.com>; Thu, 10 Jun 2004 08:41:09 +0530 (IST)
Message-ID: <0ced01c44ea2$a7a01050$4a5a0e86@praveenlaptop>
From: "Praveen Bhaniramka" <praveenb@sgi.com>
To: <info-volumizer@els.sgi.com>
References: <20040609161655.67758.qmail@web60006.mail.yahoo.com>
Subject: Re: [info-volumizer] ask question about volview
Date: Thu, 10 Jun 2004 09:49:30 +0530
MIME-Version: 1.0
Content-Type: multipart/alternative;
	boundary="----=_NextPart_000_0CE8_01C44ED0.39FC0BC0"
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.2800.1106
X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2800.1106
Sender: owner-info-volumizer@els.sgi.com
Precedence: bulk
Reply-To: info-volumizer@els.sgi.com

This is a multi-part message in MIME format.

------=_NextPart_000_0CE8_01C44ED0.39FC0BC0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

Hi Fang,

Do you mean that you "want to load the data directly in volview without 
going through ClipGen3d" or do you "want to modify the volume data that 
has been processed by ClipGen3d and already loaded into volview"?

For the former, you could modify the loader code in
src/apps/volview/common to add your own loading/processing code.
Currently, the DBVolume class invokes the IFLLoader to load the data.
You can modify that code to load your own custom data formats as well as
do any other processing on your loaded data. Alternatively, you could
write your own volume loader class (derived from class Volume under 
volview/common) and create a dynamically loadable module that can get 
loaded at runtime by volview. You will need to provide a 
createVolumeData routine in the module that will be invoked by volview 
to load the data files. This is similar to the volviewClip and volviewTV 
modules which create derived classes from Volume and Renderer to write 
custom data loaders and renderers for the specific data formats. 

For the later case, I would like to understand more about what you are 
trying to do since there might be multiple ways to accomplish this.

Cheers,
Praveen

  ----- Original Message -----=20
  From: fang liu=20
  To: info-volumizer@els.sgi.com=20
  Sent: Wednesday, June 09, 2004 9:46 PM
  Subject: [info-volumizer] ask question about volview


  Hi all,

  I am working on IRIX, used /usr/share/Volumizer2/bin/ClipGen3d  to =
transfer my volume data, then displayed my volume data in volview. I =
want to modify my volume data in volview, what should I do to write =
process function in volview? I am using Volumizer2.6.

  Thanks,

  Regards,
  Fang



------=_NextPart_000_0CE8_01C44ED0.39FC0BC0--

From info-volumizer-owner@els.sgi.com Wed Jun 16 06:25:59 2004
Received: (from majordom@localhost)
	by els.sgi.com (8.12.10/8.12.2/els-2.2) id i5GDOokP621680;
	Wed, 16 Jun 2004 06:24:50 -0700 (PDT)
Received: from web52709.mail.yahoo.com (web52709.mail.yahoo.com [206.190.39.160])
	by els.sgi.com (8.12.10/8.12.2/els-2.2) with SMTP id i5G2qLaV591775
	for <info-volumizer@els.sgi.com>; Tue, 15 Jun 2004 19:52:22 -0700 (PDT)
Message-ID: <20040616023859.40730.qmail@web52709.mail.yahoo.com>
Received: from [69.110.0.231] by web52709.mail.yahoo.com via HTTP; Tue, 15 Jun 2004 19:38:59 PDT
Date: Tue, 15 Jun 2004 19:38:59 -0700 (PDT)
From: Voxel Machine <voxel_machine@yahoo.com>
Subject: [info-volumizer] Performance using OpenGL Volumizer
To: info-volumizer@els.sgi.com
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Sender: owner-info-volumizer@els.sgi.com
Precedence: bulk
Reply-To: info-volumizer@els.sgi.com

Hi:

I was wondering if anyone in the list could tell me
the general performnce of OpenGL Volumizer on Linux. I
know it would vary depending on exactly what the
application wants to do. But I am trying to get a
general idea about the level of performance. I would
like to know the usual frames per second that
volumizer can provide in a direct volume rendering
medical imaging application for a series having 256
images (each image is 256 x 256 pixels and 2 bytes per
pixel).

(Just for reference sake, TeraRecon claims that their
volume pro card can provide 30 frames per second for
such a 256 cubed data set).

Thanks,
Rahul



		
__________________________________
Do you Yahoo!?
Take Yahoo! Mail with you! Get it on your mobile phone.
http://mobile.yahoo.com/maildemo 

From info-volumizer-owner@els.sgi.com Thu Jun 17 00:44:51 2004
Received: (from majordom@localhost)
	by els.sgi.com (8.12.10/8.12.2/els-2.2) id i5H7hdlH619208;
	Thu, 17 Jun 2004 00:43:39 -0700 (PDT)
Received: from web60903.mail.yahoo.com (web60903.mail.yahoo.com [216.155.196.79])
	by els.sgi.com (8.12.10/8.12.2/els-2.2) with SMTP id i5GNjYaV626896
	for <info-volumizer@els.sgi.com>; Wed, 16 Jun 2004 16:45:35 -0700 (PDT)
Message-ID: <20040616233211.77651.qmail@web60903.mail.yahoo.com>
Received: from [144.160.130.16] by web60903.mail.yahoo.com via HTTP; Wed, 16 Jun 2004 16:32:11 PDT
Date: Wed, 16 Jun 2004 16:32:11 -0700 (PDT)
From: Michael Wiley <wiley_michael@yahoo.com>
Subject: [info-volumizer] OpenGL Volumizer on Redhat Linux OS
To: info-volumizer@els.sgi.com
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Sender: owner-info-volumizer@els.sgi.com
Precedence: bulk
Reply-To: info-volumizer@els.sgi.com

Hi,

This question is addressed to someone who officially
represents SGI:

SGI website states that OpenGL Volumizer has been
tested on Redhat Linux 8 and 9. The problem is that
these systems are no longer supported by Redhat. Their
new line is Redhat Enterprise Linux. I am specifically
interested in the Redhat Enterprise Linux WS (Version
3). Is OpenGL Volumizer compatible with this version
of Redhat Linux and has this compatibility been tested
and verified?

Your prompt response is appreciated.

Thanks,
Michael Wiley



		
__________________________________
Do you Yahoo!?
Yahoo! Mail - Helps protect you from nasty viruses.
http://promotions.yahoo.com/new_mail

From info-volumizer-owner@els.sgi.com Thu Jun 17 02:49:31 2004
Received: (from majordom@localhost)
	by els.sgi.com (8.12.10/8.12.2/els-2.2) id i5H9mc2Q635334;
	Thu, 17 Jun 2004 02:48:38 -0700 (PDT)
Received: from sgindia.newdelhi.sgi.com (sgindia.newdelhi.sgi.com [134.14.90.2])
	by els.sgi.com (8.12.10/8.12.2/els-2.2) with ESMTP id i5H8NcaV624058
	for <info-volumizer@els.sgi.com>; Thu, 17 Jun 2004 01:23:41 -0700 (PDT)
Received: from praveenlaptop ([134.14.90.74]) by sgindia.newdelhi.sgi.com (980427.SGI.8.8.8/980728.SGI.AUTOCF) via SMTP id MAA37512 for <info-volumizer@els.sgi.com>; Thu, 17 Jun 2004 12:28:18 +0530 (IST)
Message-ID: <009e01c45442$902a6a10$4a5a0e86@praveenlaptop>
From: "Praveen Bhaniramka" <praveenb@sgi.com>
To: <info-volumizer@els.sgi.com>
References: <20040616023859.40730.qmail@web52709.mail.yahoo.com>
Subject: Re: [info-volumizer] Performance using OpenGL Volumizer
Date: Thu, 17 Jun 2004 13:21:44 +0530
MIME-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.2800.1106
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106
Sender: owner-info-volumizer@els.sgi.com
Precedence: bulk
Reply-To: info-volumizer@els.sgi.com

Hello Rahul,

The end performance is dependent on various factors, including -

1. Screen size in pixels (512x512 for example would be four times faster
than 1024x1024)
2. Complexity of the shader being used (TMSimpleShader will be faster than
TMGradientShader)
3. Sampling rate being used to render the volume data (default is once per
voxel - (1, 1, 1) for (x, y, z))

Volume rendering using with 3D textures is typically limited by the pixel
fill performance of the graphics hardware (assuming that the volume data
fits in the local graphics memory of the hardware). Hence the performance is
effected linearly by the image size and number of slices (sampling rate). On
my current ATI Radeon 9800 XT, I get a peak trilinear pixel fill rate of
~1.4 GPixels/sec with Volumizer using the TMSimpleShader.

e.g. For a 256^3 data set rendered into a 512x512 image using orthographic
projection looking down the Z-axis, such that the data fills the screen
completely, the pixel fill requirement of the app will be given by ->
   Image pixels * Number of slices along the Z-axis = 512 * 512 * 256 = 64
MPixels.

So the above hardware would do 1.4 * 1024 / 64 = ~ 22 FPS. Reducing the
image size to 256^256 would give you ~88 FPS. New hardware from various
vendors including ATI and Nvidia should give you better performance numbers
as and when they come out with new cards (typically once or twice every
year!).

Note that for simplicity sake, I am ignoring other (less obvious but
important) factors here. Also note that most of these factors would also
apply to other pixel fill limited rendering algorithms like ray casting
(implemented in hardware on Volume Pro).

Does this help?

Regards,
Praveen

----- Original Message -----
From: "Voxel Machine" <voxel_machine@yahoo.com>
To: <info-volumizer@els.sgi.com>
Sent: Wednesday, June 16, 2004 8:08 AM
Subject: [info-volumizer] Performance using OpenGL Volumizer


> Hi:
>
> I was wondering if anyone in the list could tell me
> the general performnce of OpenGL Volumizer on Linux. I
> know it would vary depending on exactly what the
> application wants to do. But I am trying to get a
> general idea about the level of performance. I would
> like to know the usual frames per second that
> volumizer can provide in a direct volume rendering
> medical imaging application for a series having 256
> images (each image is 256 x 256 pixels and 2 bytes per
> pixel).
>
> (Just for reference sake, TeraRecon claims that their
> volume pro card can provide 30 frames per second for
> such a 256 cubed data set).
>
> Thanks,
> Rahul
>
>
>
>
> __________________________________
> Do you Yahoo!?
> Take Yahoo! Mail with you! Get it on your mobile phone.
> http://mobile.yahoo.com/maildemo


From info-volumizer-owner@els.sgi.com Thu Jun 17 23:29:42 2004
Received: (from majordom@localhost)
	by els.sgi.com (8.12.10/8.12.2/els-2.2) id i5I6SFTn637444;
	Thu, 17 Jun 2004 23:28:15 -0700 (PDT)
Received: from web60002.mail.yahoo.com (web60002.mail.yahoo.com [216.109.116.225])
	by els.sgi.com (8.12.10/8.12.2/els-2.2) with SMTP id i5HLjYaV658973
	for <info-volumizer@els.sgi.com>; Thu, 17 Jun 2004 14:45:35 -0700 (PDT)
Message-ID: <20040617213208.37251.qmail@web60002.mail.yahoo.com>
Received: from [205.211.160.1] by web60002.mail.yahoo.com via HTTP; Thu, 17 Jun 2004 14:32:08 PDT
Date: Thu, 17 Jun 2004 14:32:08 -0700 (PDT)
From: fang liu <liufangokok@yahoo.com>
Subject: [info-volumizer] ask question about volview
To: info-volumizer@els.sgi.com
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="0-637839974-1087507928=:35962"
Sender: owner-info-volumizer@els.sgi.com
Precedence: bulk
Reply-To: info-volumizer@els.sgi.com

--0-637839974-1087507928=:35962
Content-Type: text/plain; charset=us-ascii

Hi Praveen,
 
Thanks for your help. I didn't think about  this question before, this week I looked at all document and wanted to find the difference between this two cases to show the volume image in volview. But I can not get it. Could you like to give me some analysis about it?
 
 I used to show my data in the second case, So I want to modify my data in this way. My volume image format is .RAW. Now I add "process" menu in the volview interface, the next step do some basic image process. I need to read the data, but I can not find how to do this. Give me some idea.
 
Regards,
Fang 
 
 
 
 
 
Hi Fang,

Do you mean that you "want to load the data directly in volview without
going through ClipGen3d" or do you "want to modify the volume data that
has been processed by ClipGen3d and already loaded into volview"?

For the former, you could modify the loader code in
src/apps/volview/common to add your own loading/processing code.
Currently, the DBVolume class invokes the IFLLoader to load the data.
You can modify that code to load your own custom data formats as well as
do any other processing on your loaded data. Alternatively, you could
write your own volume loader class (derived from class Volume under
volview/common) and create a dynamically loadable module that can get
loaded at runtime by volview. You will need to provide a
createVolumeData routine in the module that will be invoked by volview
to load the data files. This is similar to the volviewClip and volviewTV
modules which create derived classes from Volume and Renderer to write
custom data loaders and renderers for the specific data formats.

For the later case, I would like to understand more about what you are
trying to do since there might be multiple ways to accomplish this.

Cheers,
Praveen

  ----- Original Message ----- 
  From: fang liu 
  To: info-volumizer@els.sgi.com 
  Sent: Wednesday, June 09, 2004 9:46 PM
  Subject: [info-volumizer] ask question about volview


  Hi all,

  I am working on IRIX, used /usr/share/Volumizer2/bin/ClipGen3d  to transfer my volume data, then displayed my volume data in volview. I want to modify my volume data in volview, what should I do to write process function in volview? I am using Volumizer2.6.

  Thanks,

  Regards,
  Fang


		
---------------------------------
Do you Yahoo!?
New and Improved Yahoo! Mail - Send 10MB messages!
--0-637839974-1087507928=:35962
Content-Type: text/html; charset=us-ascii

<DIV>Hi Praveen,</DIV>
<DIV>&nbsp;</DIV>
<DIV>Thanks for your help. I didn't think about &nbsp;this question before, this week I looked at all document and wanted to find the difference between this two cases to show the volume image in volview. But I can not get it. Could you like to give me some&nbsp;analysis about it?</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;I used to show my data in the second case, So I want to modify my data in this way. My volume image format is .RAW. Now I add "process" menu in the volview interface, the next step&nbsp;do some basic image&nbsp;process. I need to read the data, but I can not find&nbsp;how to do this. Give me some idea.</DIV>
<DIV>&nbsp;</DIV>
<DIV>Regards,</DIV>
<DIV>Fang&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp;</DIV>
<DIV>Hi Fang,<BR><BR>Do you mean that you "want to load the data directly in volview without<BR>going through ClipGen3d" or do you "want to modify the volume data that<BR>has been processed by ClipGen3d and already loaded into volview"?<BR><BR>For the former, you could modify the loader code in<BR>src/apps/volview/common to add your own loading/processing code.<BR>Currently, the DBVolume class invokes the IFLLoader to load the data.<BR>You can modify that code to load your own custom data formats as well as<BR>do any other processing on your loaded data. Alternatively, you could<BR>write your own volume loader class (derived from class Volume under<BR>volview/common) and create a dynamically loadable module that can get<BR>loaded at runtime by volview. You will need to provide a<BR>createVolumeData routine in the module that will be invoked by volview<BR>to load the data files. This is similar to the volviewClip and volviewTV<BR>modules which create derived classes from Volume and
 Renderer to write<BR>custom data loaders and renderers for the specific data formats.<BR><BR>For the later case, I would like to understand more about what you are<BR>trying to do since there might be multiple ways to accomplish this.<BR><BR>Cheers,<BR>Praveen<BR><BR>&nbsp; ----- Original Message ----- <BR>&nbsp; From: fang liu <BR>&nbsp; To: info-volumizer@els.sgi.com <BR>&nbsp; Sent: Wednesday, June 09, 2004 9:46 PM<BR>&nbsp; Subject: [info-volumizer] ask question about volview<BR><BR><BR>&nbsp; Hi all,<BR><BR>&nbsp; I am working on IRIX, used /usr/share/Volumizer2/bin/ClipGen3d&nbsp; to transfer my volume data, then displayed my volume data in volview. I want to modify my volume data in volview, what should I do to write process function in volview? I am using Volumizer2.6.<BR><BR>&nbsp; Thanks,<BR><BR>&nbsp; Regards,<BR>&nbsp; Fang<BR></DIV><p>
		<hr size=1>Do you Yahoo!?<br>
<a href="http://us.rd.yahoo.com/mail/taglines/*http://promotions.yahoo.com/new_mail/static/efficiency.html">New and Improved Yahoo! Mail</a> - Send 10MB messages!
--0-637839974-1087507928=:35962--

From info-volumizer-owner@els.sgi.com Sun Jun 20 23:21:02 2004
Received: (from majordom@localhost)
	by els.sgi.com (8.12.10/8.12.2/els-2.2) id i5L6JZs6708199;
	Sun, 20 Jun 2004 23:19:35 -0700 (PDT)
Received: from sgindia.newdelhi.sgi.com (sgindia.newdelhi.sgi.com [134.14.90.2])
	by els.sgi.com (8.12.10/8.12.2/els-2.2) with ESMTP id i5L6A7aV714797
	for <info-volumizer@els.sgi.com>; Sun, 20 Jun 2004 23:10:09 -0700 (PDT)
Received: from praveenlaptop ([134.14.90.74]) by sgindia.newdelhi.sgi.com (980427.SGI.8.8.8/980728.SGI.AUTOCF) via SMTP id KAA24346 for <info-volumizer@els.sgi.com>; Mon, 21 Jun 2004 10:14:37 +0530 (IST)
Message-ID: <008d01c45754$8caec5b0$4a5a0e86@praveenlaptop>
From: "Praveen Bhaniramka" <praveenb@sgi.com>
To: <info-volumizer@els.sgi.com>
References: <20040617213208.37251.qmail@web60002.mail.yahoo.com>
Subject: Re: [info-volumizer] ask question about volview
Date: Mon, 21 Jun 2004 11:26:51 +0530
MIME-Version: 1.0
Content-Type: multipart/alternative;
	boundary="----=_NextPart_000_008A_01C45782.A5F77700"
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.2800.1106
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1106
Sender: owner-info-volumizer@els.sgi.com
Precedence: bulk
Reply-To: info-volumizer@els.sgi.com

Hi Fang,

The first case is the more common way of using volview, where you want to render all the volume data at the original resolution. By default, volview loads 3D tiff files specified on the command line. You could load your own data formats by modifying the sources under volview/common (see DBVolume.cxx). The Volume class (in this case DBVolume), invokes the IFLLoader to load the volume data. The loaded data is stored in the vzParameterVolumeTexture class and can be accessed using the getDataPtr() method of the class. A typical scenario would be where you 

    a. Load the data set -> vzParameterVolumeTexture *volume = IFLLoader::loadVolume();
    b. Render the data set -> (vzTMRenderAction *)renderer->draw(shape);
    c. Modify the data set ->
        void *data =3D volume->getDataPtr(); // Get the data pointer
        applyImageProcessingAlgorithm(data);  // Apply image processing routine
        volume->setDataPtr(data); // Tell Volumizer that the data has been modified. 
                             //New data would be loaded into texture memory next frame.

In the above case, the memory pointer inside the vzParameterVolumeTexture is allocated by the application (in IFLLoader code). So the application can modify/delete/re-allocate this pointer at will. You can write your own loader to load your custom data files (.raw or whatever you have) and do your own data processing stuff in the application.

When you use ClipGen3d, it creates a set of multi-resolution representations of the original volume data set and store them on the disk. By default, these data sets are subsampled versions of the original data set (you can use other custom data filters on the command line as well). When using 3D clip-textures (thru volviewClip for example), the clip-texture heirarchy is initialized by the application 
(see volview/clip/ClipVolume.cxx). The Volume class (in this case ClipVolume), invokes the ClipLoader to initialize the heirarchy. The ClipLoader class simply sets the data loader callbacks that vzParameterClipTexture invokes to load sub-bricks in the volume data.

In this case, the memory pointer is allocated by Volumizer and so the application does not have access to the data pointer. There is no getDataPtr method in vzParameterClipTexture... Volumizer internally allocates the memory for the data pointers and passes the data pointer with the loader callback. This is the only place when the application has access to the data pointer, i.e. in the loader callback.... so if you want to do some data processing, you can do it here once the data is loaded.

hth,
Praveen

  ----- Original Message -----=20
  From: fang liu=20
  To: info-volumizer@els.sgi.com=20
  Sent: Friday, June 18, 2004 3:02 AM
  Subject: [info-volumizer] ask question about volview


  Hi Praveen,

  Thanks for your help. I didn't think about  this question before, this =
week I looked at all document and wanted to find the difference between =
this two cases to show the volume image in volview. But I can not get =
it. Could you like to give me some analysis about it?

   I used to show my data in the second case, So I want to modify my =
data in this way. My volume image format is .RAW. Now I add "process" =
menu in the volview interface, the next step do some basic image =
process. I need to read the data, but I can not find how to do this. =
Give me some idea.

  Regards,
  Fang=20





  Hi Fang,

  Do you mean that you "want to load the data directly in volview =
without
  going through ClipGen3d" or do you "want to modify the volume data =
that
  has been processed by ClipGen3d and already loaded into volview"?

  For the former, you could modify the loader code in
  src/apps/volview/common to add your own loading/processing code.
  Currently, the DBVolume class invokes the IFLLoader to load the data.
  You can modify that code to load your own custom data formats as well =
as
  do any other processing on your loaded data. Alternatively, you could
  write your own volume loader class (derived from class Volume under
  volview/common) and create a dynamically loadable module that can get
  loaded at runtime by volview. You will need to provide a
  createVolumeData routine in the module that will be invoked by volview
  to load the data files. This is similar to the volviewClip and =
volviewTV
  modules which create derived classes from Volu! me and Renderer to =
write
  custom data loaders and renderers for the specific data formats.

  For the later case, I would like to understand more about what you are
  trying to do since there might be multiple ways to accomplish this.

  Cheers,
  Praveen

    ----- Original Message -----=20
    From: fang liu=20
    To: info-volumizer@els.sgi.com=20
    Sent: Wednesday, June 09, 2004 9:46 PM
    Subject: [info-volumizer] ask question about volview


    Hi all,

    I am working on IRIX, used /usr/share/Volumizer2/bin/ClipGen3d  to =
transfer my volume data, then displayed my volume data in volview. I =
want to modify my volume data in volview, what should I do to write =
process function in volview? I am using Volumizer2.6.

    Thanks,

    Regards,
    Fang



-------------------------------------------------------------------------=
-----
  Do you Yahoo!?
  New and Improved Yahoo! Mail - Send 10MB messages!
------=_NextPart_000_008A_01C45782.A5F77700
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 6.00.2800.1106" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=3D#ffffff>
<DIV>Hi Fang,</DIV>
<DIV> </DIV>
<DIV>The first case is the more common way of using volview, where you =
want to=20
render all the volume data at the original resolution. By default, =
volview loads=20
3D tiff files specified on the command line. You could load your own =
data=20
formats by modifying the sources under volview/common (see =
DBVolume.cxx). The=20
Volume class (in this case DBVolume), invokes the IFLLoader to load the =
volume=20
data. The loaded data is stored in the vzParameterVolumeTexture class =
and can be=20
accessed using the getDataPtr() method of the class. A typical scenario =
would be=20
where you - </DIV>
<DIV> </DIV>
<DIV>    a. Load the data set -> =
vzParameterVolumeTexture=20
*volume =3D IFLLoader::loadVolume();</DIV>
<DIV>    b. Render the data set -> (vzTMRenderAction=20
*)renderer->draw(shape);</DIV>
<DIV>    c. Modify the data set -> </DIV>
<DIV>        void *data =3D=20
volume->getDataPtr(); // Get the data pointer</DIV>
<DIV>       =20
applyImageProcessingAlgorithm(data);  // Apply image processing=20
routine</DIV>
<DIV>        =
volume->setDataPtr(data); //=20
Tell Volumizer that the data has been modified. New data would be loaded =
into=20
texture memory next frame. </DIV>
<DIV> </DIV>
<DIV>In the above case, the memory pointer inside the =
vzParameterVolumeTexture=20
is allocated by the application (in IFLLoader code). So the application =
can=20
modify/delete/re-allocate this pointer at will. You can write your own =
loader to=20
load your custom data files (.raw or whatever you have) and do your own =
data=20
processing stuff in the application. </DIV>
<DIV> </DIV>
<DIV>When you use ClipGen3d, it creates a set of multi-resolution=20
representations of the original volume data set and store them on the =
disk. By=20
default, these data sets are subsampled versions of the original data =
set (you=20
can use other custom data filters on the command line as well). When =
using 3D=20
clip-textures (thru volviewClip for example), the clip-texture heirarchy =
is=20
initialized by the application (see volview/clip/ClipVolume.cxx). The =
Volume=20
class (in this case ClipVolume), invokes the ClipLoader to initialize =
the=20
heirarchy. The ClipLoader class simply sets the data loader callbacks =
that=20
vzParameterClipTexture invokes to load sub-bricks in the volume data. =
</DIV>
<DIV> </DIV>
<DIV>In this case, the memory pointer is allocated by Volumizer and so =
the=20
application does not have access to the data pointer. There is no =
getDataPtr=20
method in vzParameterClipTexture... Volumizer internally allocates =
the=20
memory for the data pointers and passes the data pointer with the loader =

callback. This is the only place when the application has access to the =
data=20
pointer, i.e. in the loader callback.... so if you want to do some data=20
processing, you can do it here once the data is loaded.</DIV>
<DIV> </DIV>
<DIV>hth,</DIV>
<DIV>Praveen</DIV>
<DIV> </DIV>
<BLOCKQUOTE=20
style=3D"PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; =
BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
  <DIV style=3D"FONT: 10pt arial">----- Original Message ----- </DIV>
  <DIV=20
  style=3D"BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: =
black"><B>From:</B>=20
  <A title=3Dliufangokok@yahoo.com =
href=3D"mailto:liufangokok@yahoo.com">fang=20
  liu</A> </DIV>
  <DIV style=3D"FONT: 10pt arial"><B>To:</B> <A =
title=3Dinfo-volumizer@els.sgi.com=20
  =
href=3D"mailto:info-volumizer@els.sgi.com">info-volumizer@els.sgi.com</A>=
 </DIV>
  <DIV style=3D"FONT: 10pt arial"><B>Sent:</B> Friday, June 18, 2004 =
3:02 AM</DIV>
  <DIV style=3D"FONT: 10pt arial"><B>Subject:</B> [info-volumizer] ask =
question=20
  about volview</DIV>
  <DIV><BR></DIV>
  <DIV>Hi Praveen,</DIV>
  <DIV> </DIV>
  <DIV>Thanks for your help. I didn't think about  this question =
before,=20
  this week I looked at all document and wanted to find the difference =
between=20
  this two cases to show the volume image in volview. But I can not get =
it.=20
  Could you like to give me some analysis about it?</DIV>
  <DIV> </DIV>
  <DIV> I used to show my data in the second case, So I want to =
modify my=20
  data in this way. My volume image format is .RAW. Now I add "process" =
menu in=20
  the volview interface, the next step do some basic =
image process. I=20
  need to read the data, but I can not find how to do this. Give me =
some=20
  idea.</DIV>
  <DIV> </DIV>
  <DIV>Regards,</DIV>
  <DIV>Fang </DIV>
  <DIV> </DIV>
  <DIV> </DIV>
  <DIV> </DIV>
  <DIV> </DIV>
  <DIV> </DIV>
  <DIV>Hi Fang,<BR><BR>Do you mean that you "want to load the data =
directly in=20
  volview without<BR>going through ClipGen3d" or do you "want to modify =
the=20
  volume data that<BR>has been processed by ClipGen3d and already loaded =
into=20
  volview"?<BR><BR>For the former, you could modify the loader code=20
  in<BR>src/apps/volview/common to add your own loading/processing=20
  code.<BR>Currently, the DBVolume class invokes the IFLLoader to load =
the=20
  data.<BR>You can modify that code to load your own custom data formats =
as well=20
  as<BR>do any other processing on your loaded data. Alternatively, you=20
  could<BR>write your own volume loader class (derived from class Volume =

  under<BR>volview/common) and create a dynamically loadable module that =
can=20
  get<BR>loaded at runtime by volview. You will need to provide=20
  a<BR>createVolumeData routine in the module that will be invoked by=20
  volview<BR>to load the data files. This is similar to the volviewClip =
and=20
  volviewTV<BR>modules which create derived classes from Volu! me and =
Renderer=20
  to write<BR>custom data loaders and renderers for the specific data=20
  formats.<BR><BR>For the later case, I would like to understand more =
about what=20
  you are<BR>trying to do since there might be multiple ways to =
accomplish=20
  this.<BR><BR>Cheers,<BR>Praveen<BR><BR>  ----- Original Message =
-----=20
  <BR>  From: fang liu <BR>  To: info-volumizer@els.sgi.com =
<BR> =20
  Sent: Wednesday, June 09, 2004 9:46 PM<BR>  Subject: =
[info-volumizer] ask=20
  question about volview<BR><BR><BR>  Hi all,<BR><BR>  I am =
working on=20
  IRIX, used /usr/share/Volumizer2/bin/ClipGen3d  to transfer my =
volume=20
  data, then displayed my volume data in volview. I want to modify my =
volume=20
  data in volview, what should I do to write process function in =
volview? I am=20
  using Volumizer2.6.<BR><BR>  Thanks,<BR><BR>  =
Regards,<BR> =20
  Fang<BR></DIV>
  <P>
  <HR SIZE=3D1>
  Do you Yahoo!?<BR><A=20
  =
href=3D"http://us.rd.yahoo.com/mail/taglines/*http://promotions.yahoo.com=
/new_mail/static/efficiency.html">New=20
  and Improved Yahoo! Mail</A> - Send 10MB =
messages!</BLOCKQUOTE></BODY></HTML>

------=_NextPart_000_008A_01C45782.A5F77700--


