Home Overview FAQ Documentation Download Mailing List Geomview For Windows? Support Users Development Bug Reporting Contributing Contact Us Sponsors
|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Update REQ 6978]: Normalisation
> Currently, I'm using it for (virtual) camera calibration. I however can't figure out > exactly how the NORMALIZATION bit in the APPEARANCE panel works. > > This isn't explained in the manual or in the FAQ's. > > I think I figured the difference between 'None' (default) and 'Individual' out, > but what does 'Sequence' and 'Keep' mean. Also, in `Individual' mode, is the camera > origin coinciding with the origin of the object ? Well, here's what the manual says: ---------- Normalization is a property that applies to each geom separately. The NORMALIZE GEOMETRY browser affects the normalization property of target geom. If the target geom is "World", it affects all geoms. None Do no normalization. Individual Normalize this geom to fit within a unit sphere. Sequence This resembles "Individual", except when an object is changing. Then, "Individual" tightly fits the bounding box around the object whenever it changes and normalizes accordingly, while "Sequence" normalizes the union of all variants of the object and normalizes accordingly. Keep This leaves the current normalization transform unchanged when the object changes. It may be useful to apply "Individual" or "Sequence" normalization to the first version of a changing object to bring it in view, then switch to "Keep". ---------- And now I'll interpret, since the manual can admittedly be a bit terse: As you've probably noticed, with "Individual" each object is separately resized so that it fits in the default camera view. You almost never want to use this if you have many objects that are carefully positioned with respect to one another, since they'll all be squashed on top of one another. It was intended for the pretty common single-object, single-camera situation, and predates the "Lookat" command (which would be a better way to do it). We get a lot of questions about normalization, the fact that it's Individual instead of None by default is a somewhat unfortunately backwards compatability choice. The idea with "Sequence" is that if you're looking at a changing object, for instance using the Animator flipbook module, then you want the object to say nicely framed in the window even if it grows. And with "Keep", the idea is that you might actually care about the size changes of an object and want to understand how successive versions differ in size. So you tell Geomview to leave the normalization exactly the way it is at this moment. For your purposes you definitely want "None". The base camera origin does indeed coincide with the object's. The default camera transform puts the camera three units back in Z from the object. Here's what you see when you dump out the default camera: camera { camtoworld transform { 1 0 0 0 0 1 0 0 0 0 1 0 0 0 3 1 } perspective 1 stereo 0 fov 40 frameaspect 1 focus 3 near 0.1 far 100 } > The problem I'm trying to tackle is the alignment of a virtual (geomview) camera with > a real camera for computer assisted surgery. They are pointing at a virtual > (CT reconstructed surface of a patient) and the real patient, respectively. > Although I have the exact coordinate transformation, as obtained from a well-established > camera calibration algorithm (Tsai), it doesn't work when I apply it in Geomview > (using the Transformer module). [Like Mark said - wow, that's cool!] Can the problem be that in Transformer you said "Apply" (i.e. multiply the current transform by the new one) instead of "Set" (i.e. throw away the old transform, just use the new one). I presume you have normalization set to "None", right? If that's not it, can you be more specific about how exactly doesn't work? Hope this helps, Tamara
|
||
Home | Overview | FAQ | Documentation | Support | Download | Mailing List Windows? | Development | Bug Reporting | Contributing | Contact Us | Sponsors |
|||
site hosted by |