IRC log for #brlcad on 20070608

03:07.35 RodGallowGlass whipped by the "code o nine tails" geeeeez :)
03:27.29 RodGallowGlass Does code have a code of conduct :)
03:27.44 RodGallowGlass rambling again, time for my medication :)
03:49.27 RodGallowGlass :)
05:30.41 poolio evening :)
05:34.43 brlcad howdy howdy
05:42.56 poolio hey brlcad, out of curiousity, what's the point in doing voxel -> CSG? Just to work with the data and store it more efficiently?
05:43.29 brlcad that's one of the major points
05:43.45 poolio so somewhat a means of data compression?
05:43.47 brlcad to actually have a model with structure instead of entirely unstructured data
05:44.04 brlcad with regional coherence
05:44.24 brlcad connectivity of "cells" to shapes
05:44.42 brlcad basically it's a method of shape extraction, which has all sorts of uses
05:44.51 poolio yeah, but I couldn't think of any good uses besides that. I only bring this up because the question was posed to me :)
05:45.11 brlcad data compression is just one of the benefit, but not necessarily a primary purpose in itself (though a very major benefit in most cases)
05:46.40 brlcad think of medical data, for example -- I might have a CT scan, which is intrinsicly viewable as voxel data -- there's no knowledge about regions and materials other than bands of intensity values
05:47.12 poolio Well yes, but lets say you have "regions" would that just help in terms of extracting and individually looking at different regions?
05:47.32 brlcad if you can extract structure, you've basically done shape detection, potentially even feature detection, which is one step towards solving segmentation and registration
05:47.43 brlcad being able to identify a "heart" for example
05:48.21 poolio Alright, so once you have the basic shapes it's much easier to further analyze
05:48.45 poolio and why would the military want this type of ability?
05:48.47 brlcad much easier -- and in practice, you don't want to work on the voxelized data directly for several reasons
05:49.16 brlcad you can get analytic artifacts from the 3d aliasing, the nature of the cell shape
05:49.35 brlcad so actually inferring a real "surface" can help
05:49.48 poolio okay, that makes a bit of sense
05:49.53 brlcad basically interpolates and fits an implicit function to explicit data values
05:50.34 poolio so theoretically the CSG model good more accurately reflect the physical situation than the voxel data that the CSG was generate from
05:51.04 brlcad it's more of a fundamental capability than it is a "military purpose", especially at this point -- there's not much purpose other than the geometric points I just mentioned
05:51.37 brlcad once it's working and if validated, then you can start looking at other analytic purposes, whether they be military-related, medical, consumer, etc
05:51.58 brlcad the predominant domain of voxel data is actually the medical industry
05:52.21 poolio Yeah, I don't know anything off the top of my head besides MRIs that generate that type of data
05:53.01 brlcad them and a subset of finite element analyses (which cuts across various industries)
05:53.01 brlcad MRI and CT scans are the big ones
05:53.01 poolio yeah cool
05:53.19 brlcad still, though -- that's "way" off in the distance
05:53.35 brlcad just matching a voxelized sphere to a sphere is research material in itself :)
05:53.38 poolio well yes, I was just curious. I like to see the big picture :)
05:53.54 brlcad (publishable research material)
05:54.16 poolio so would you like me to try to have this project proposal for you before I start work?
05:56.25 brlcad well certainly before coding
05:56.35 brlcad so yeah :)
05:58.02 brlcad nothing too insanely detailed.. whatever you're comfortable with
05:59.07 poolio Yeah, I had some thoughts on mutation as I was riding the subway to work today :P
05:59.07 brlcad your fellow occupants were that ugly, eh?
06:00.40 poolio har har. no one talks on the subway and i was, as always, seeing shapes with my eyes 8)
06:04.50 poolio Anywho, I was trying to decide what I wanted to have crossover...whole shapes, operators, position vectors of shapes, coordinates of position vectors of shapes, etc...
06:11.32 brlcad if you think of a CSG hierarchy (which is usually a directed graph) .. crossover is rather easily defined as picking a node in both trees and swapping them
06:12.52 poolio well is the node a shape?
06:12.55 brlcad so something like: http://upload.wikimedia.org/wikipedia/commons/thumb/8/8b/Csg_tree.png/677px-Csg_tree.png
06:13.15 brlcad pick one of the nodes.. pick another in the other genotype -- swap them
06:14.38 brlcad more of a data-driven diagram -- the nodes are either operators or primitives, http://designer.mech.yzu.edu.tw/article/articles/course/(2000-11-27)%20Constructive%20solid%20geometry.files/image073.gif
06:15.14 *** join/#brlcad elite01 (n=elite01@dslc-082-082-095-018.pools.arcor-ip.net)
06:15.35 brlcad and you can have a matrix over any node that represents a transformation (translation, scaling, rotation, orientation, position, etc)
06:16.37 brlcad random mutation could be as simple as randomly picking an operator node, and randomly changing the operator (e.g. from union to intersection)
06:28.57 poolio yeah. but eg the first diagram, you can only pick leaf nodes or operators, you couldn't say pick a shape that's a union of two other shapes and swap that
06:29.17 poolio Well you could, but it'd change the genotype length
06:29.37 poolio but then you get into crossing over of complex shapes, which I'm not so sure is a good idea
07:01.01 brlcad there's nothing wrong with changing the genotype length
07:01.17 brlcad they're going to be various lengths regardless (or at least they can be)
07:01.27 brlcad s/can/should/
07:02.08 brlcad that's what I'd mentioned the first stage would be simply single-node hierarchies -- primitives only
07:02.28 brlcad if you get even that working, it'll be astounding
07:04.22 brlcad I suppose you could always work with balanced graphs such that you're always swapping the same number of nodes in order to maintain fixed lengths, but that's actually just more work for what I don't see as gaining you much of anything but an artificial constraint on the genotype evolution
07:05.10 brlcad your fitness function and evolutionary passes can have criteria to bound how complex the shapes get, how many nodes, too
07:09.40 poolio Alright. My main issue is I don't really see how crossing higher-level shapes will improve the evolution. I mean, I see how it could, but I feel like it should be able to evolve thos ehigher level shapes on its own
07:12.22 poolio anywho, i'm of for the night. i have to be at work in 4 hours. eek. gnite
07:32.29 *** join/#brlcad Laniakea (n=clock@zux221-122-143.adsl.green.ch)
07:40.42 brlcad hm, not sure what you mean by "higher level shapes" .. they're just shapes at any point in the tree -- portions of the tree could do exceptionally well or poorly, which will sort itself out through the evolution steps
07:41.29 brlcad such that over time trees have more and more "good" nodes that fit the function and fewer that don't
07:43.09 brlcad basically saying "take some of the objects I used over here and try them over here" .. if it's got a good fitness, it'll survive -- if not, it'll die
07:43.22 poolio well yeah...
07:43.37 poolio by higher level shapes I mean higher up in the hierarchy, composed of more primitives
07:44.32 poolio wel anywho. sleep. cya later
08:08.03 *** join/#brlcad Elperion (n=Bary@p54876a0b.dip.t-dialin.net)
09:18.43 *** join/#brlcad away (n=ak@ll-81-222-164-251.awanti.ru)
10:32.52 *** join/#brlcad thing0 (n=ric@203-59-209-203.dyn.iinet.net.au)
10:34.35 thing0 hey all
10:34.36 thing0 sup?
11:23.45 thing0 cya later people
11:23.48 thing0 going out
11:23.50 thing0 bye!
11:24.13 *** part/#brlcad thing0 (n=ric@203-59-209-203.dyn.iinet.net.au)
11:27.06 *** join/#brlcad Elperion (n=Bary@p54876a0b.dip.t-dialin.net)
11:54.20 *** join/#brlcad elite01 (n=elite01@dslc-082-082-095-018.pools.arcor-ip.net)

Generated by irclog2html.pl Modified by Tim Riker to work with infobot.