For photographers
For researchers
For developers
Image gallery

June 29, 2008

Image segmentation: binary watershed

According the ImageJ site: “Watershed segmentation is a way of automatically separating or cutting apart particles that touch”.

Suppose black is the particles and white is the background. The the procedure is fairly simple.

First, for each pixel compute the distance to the nearest white pixel. This is called the distance function. It’s a scalar function of two variables.

Next, find the maximum points of this function. Each of these pixels will become the center of a particle.

You carry out multiple rounds of dilation that gradually grow these particles. The dilation has two restrictions. First, the particles aren’t allowed to grow beyond the original set of black pixels. This way we guarantee that we end up with the same set of pixels except it has been “cut” into pieces. Second, a new pixel isn’t added if it’s adjacent to a pixel that belongs to another particle. This way the particles start to “push” onto each other but never overlap.

The tricky part of the last restriction is that the growth rate will have to be different for particles of different sizes. Otherwise, two particles will always be separated by a cut exactly half way between their centers. That wouldn’t make sense if one is significantly larger than the other. Roughly, the dilation rate should be proportional to the value of the distance function.

Some questions remain. For example, how does one efficiently find the maxima? Everything is discrete, so forget about partial derivatives etc. You have to visit every point.

How does one deal with particles that are simply noise? If you remove all small particles, you may have nothing left. One answer is to discard the maxima with low values of the distance function.

Another issue is typical for many image analysis techniques. Once again to quote the ImageJ site, “Watershed segmentation works best for smooth convex objects that don’t overlap too much.” Basically, you have to view (analyze!) the image yourself and decide ahead of time whether the method is appropriate. There is a good reason to be cautious – non-convex particles may cause the watershed method to produce undesirable results.

You have to choose ahead of time whether you have white or black particles. If you don’t do it correctly, you end up with non-convex black “particles”. The result of watershed segmentation isn’t what you expect:

It is also easy to think of an image (rings) that can’t possibly be analyzed correctly by watershed regardless of the black/white choice:

Needless to say that the topological method produces the correct segmentation here:

It can’t however separate particles yet (the stuff will appear in the wiki under Robustness of topology).

June 22, 2008

Coloring objects

Filed under: releases, updates, image processing/image analysis software — Peter @ 3:29 pm

The next version of Pixcavator is to be relased in a few weeks. A new feature that I want to preview is Coloring Objects. Once objects are found, you can do anything with them. So, it was easy to implement (the objects are colored randomly). And it’s definitely an amusing feature. It can also be helpful.

This tool can help you confirm that your image segmentation is correct:


A more intricate segmentation:

Coloring combined with background removal:


Something more amusing: recoloring objects and discovering a broken bone:


Just for fun:

For more examples, see our Image Gallery.

June 15, 2008

What is image segmentation?

Filed under: computer vision/machine vision/AI, reviews, rants, mathematics — Peter @ 2:11 pm

Let’s go to Wikipedia. The first sentence is:

“Image segmentation is partitioning a digital image into multiple regions”.

This description isn’t what I would call a definition as it suffers from a few very serious flaws.

First, what does “partitioning” mean? A partition is a representation of something as the union of non-overlapping pieces. Then partitioning is a way of obtaining a partition. The part about the regions not overlapping each other is missing elsewhere in the article: “The result of image segmentation is a set of regions that collectively cover the entire image” (second paragraph).

Then, is image segmentation a process (partitioning) or the output of that process? The description clearly suggests the former. That’s a problem because it emphasizes “how” over “what”. That suggests human involvement in the process that is supposed to be objective and reproducible.

Next, a segmentation is a result of partitioning but not any partitioning results in a segmentation. A segmentation is supposed to have something to do with the content of the image.

More nitpicking. Do the regions have to be “multiple”? The image may be blank or contain a single object. Does the image has to be “digital”? Segmentation of analogue images makes perfect sense.

A slightly better “definition” I could suggest is this:

A segmentation of an image is a partition of the image that reveals some of its content.

This is far from perfect. First, strictly speaking, what we partition isn’t the image but what’s often called its “carrier” – the rectangle itself. Also, the background is a very special element of the partition. It shouldn’t count as an object…

Another issue is with the output of the analysis. The third sentence is “Image segmentation is typically used to locate objects and boundaries (lines, curves, etc.) in images.” It is clear that “boundaries” should be read “their boundaries” here - boundaries of the objects. The image does not contain boundaries – it contains objects and objects have boundaries. (A boundary without an object is like Cheshire Cat’s grin.)

Once the object is found, finding its boundary is an easy exercise. This does not work the other way around. The article says: “The result of image segmentation [may be] a set of contours extracted from the image.” But contours are simply level curves of some function. They don’t have to be closed (like a circle). If a curve isn’t closed, it does not enclose anything – it’s a boundary without an object! More generally, searching for boundaries instead of objects is called “edge detection”. In the presence of noise, one ends up with just a bunch of pixels – not even curves… And by the way, the language of “contours”, “edges”, etc limits you to 2D images. Segmentation of 3D images is out of the window?

I plan to write a few posts about specific image segmentation methods in the coming weeks.

June 8, 2008

Microarray analysis with Pixcavator

Filed under: updates, image processing/image analysis software — Peter @ 12:03 pm

Microarrays (microplates etc) are plastic rectangles with a grid of “wells” containing biological materials. When another biological or chemical substance is added to these cells, the reaction is captured in digital images. For example, various concentrations of a chemical or a drug are added to the wells containing biological cells. The cells then start to divide faster, or slower, or simply die. The result affects the color of the substance in each cell. The image analysis automatically captures this data and draws conclusions. For example, you can pinpoint exactly at what concentration the drug becomes toxic. It’s like hundreds experiments in one! Appropriately, this is also called high throughput screening.

I’ve been working on a related project for one of our clients and I would like to present a modified version of Pixcavator. First it captures all the wells in the form of a list with all the data about them – in the usual way. Then it displays the gray level (intensity) for each well – according to its position in the microarray. Of course, instead of intensity you can display other characteristics of these objects: the average intensity, or the standard deviation, or the average color (for color images), etc.

The point of the post is this: the hard part of collecting the data about the objects is taken care of by Pixcavator - the rest is a easy exercise with the Pixcavator SDK.

June 2, 2008

Pattern recognition in computer vision, part 3

In part 1 and part 2 I discussed a paper on face recognition and the methods it relies on. Recall, each 100×100 gray scale image is a table of 100×100 = 10,000 numbers that can be rearranged into a 10,000-vector or a point in the 10,000-dimensional Euclidean space. As we discovered in part 2, using the closedness of these points as a measurement of similarity between images ignores the way the pixels are attached to each other. A deeper problem is that unless the two images are aligned first, there is no way to use this representation to discover that they depict the same or similar thing. The proper term for this alignment is image registration.

The similarity between images represented this way will be entirely based on their overlap. As result, the distance can be large even between images that we would consider similar. In part 2 we had examples of one-pixel images. More realistic examples are these:

  • image with an object in one corner onewith the same object in another corner;
  • image of a cross and the same cross turned 45 degrees;
  • etc.

Back to face identification. As the faces are points in the 10,000-dimensional space, these points should be grouped somehow. The point is that all images of the same individual should belong to one group and not any other. It is common to consider “clusters” of points, i.e., groups formed of point close to each other. This was discussed above.

Now, in this paper the approach is different: a new point (the face to be identified) is represented as a linear combination of all other points (all faces in the collection).

As we know from linear algebra, this implies the following. (1) the entire collection has to be linearly dependent, (2) you can find a subcollection that adds up to 0! In other words, everything cancels out and you end up with a blank photo. Is it possible? If the dimension is low or the collection is large (the images are small relative to the number of images), maybe. What if the collection is small? (It is small – see below.) It seems unlikely. Why do I think so? Consider this very extreme case: you may need the negative for each face to cancel it: same shape with dark vs. light hair, skin, eyes, teeth (!).…

Second, the new image in the collection has to be a linear combination of training images of the same person. In other words, any image of person A is represented as a linear combination of other images of A in the collection, ideally. (More likely this image is supposed to be closer to the linear space spanned by these images.) The approach could only work under the assumption that people are linearly independent:

No face in the collection can be represented as a linear combination of the rest of the faces.

It’s a bold assumption.

If it is true, then the challenge is to make the algorithm efficient enough. The idea is that you don’t need all of those pixels/features and they in fact could be random. That must be the point of the paper.

The testing was done on two collections with several thousand images each. That sounds OK, but the number of individuals in these collections was 38 and 114!

To summarize, there is nothing wrong with the theory but its assumptions are unproven and the results are untested.

P.S. It’s strange but after so many years computer vision still looks like an academic discipline and not an industry.

May 27, 2008

A quick review of TinEye

Filed under: Image search, computer vision/machine vision/AI, reviews, news — Peter @ 4:35 pm

TinEye is an image-to-image search engine from Idée. It is in a closed testing but I got to try it a couple of days ago. After a very positive review at TechCrunch, I decided to write up my impressions (a review of an earlier version is here).

They don’t make wild claims about being able to do face identification or similar (unsolved) problems. The goal seems very simple: find copies of images. With this task TinEye does a fairly good job. It finds even ones that have been modified - noise, color, stretch, crop, some photoshopping. It does not do well with rotation. That’s a major drawback (compare to Lincoln from MS Research).

These are the images that I tried.

Barbara: found both color and bw copies and a slightly cropped version.

Marilyn: found cropped and stretched versions, and an even edited (defaced) version.

Lenna: found both color and bw, but not partial or rotated versions (even though a rotated version is in the index).

May 23, 2008

cellAnalyst 2.0 released

Filed under: releases, image processing/image analysis software — Peter @ 6:26 pm

We are happy to announce the release of cellAnalyst version 2.0!

Just to remind you, cellAnalyst by AssaySoft Inc. is an advanced image-mining tool in a user-friendly package. It is designed to automate the analysis of digital images, especially ones coming from cell biology. It works as follows:

  1. The images are initially presented in a photo album format.
  2. With just a few clicks, cells have been detected, captured, and measured.
  3. The cells are listed in a table along with their characteristics.
  4. Each such table is saved as an entry in a searchable database.

Items 2 and 3 came originally from Pixcavator.

Now, the main new feature in version 2.0 is Partial Analysis. Analysis of images may be a time consuming task especially when the analysis setting have to be determined by trial and error. To reduce the processing time, one may start with analysis of just a portion of the image. The user draws a rectangle around a cell, and the analysis instantly determines its size and contrast. These two numbers are then used as the settings for the analysis of the entire image. More will appear in the wiki under Analysis strategy.

Other improvements are these:

  • The roundness of every object found in the image is computed and displayed in the output table.
  • Image enhancement functions are added: you can adjust brightness, contrast, color balance, gamma correction, and saturation.
  • The estimated processing time is computed and displayed so that the user can plan ahead.
  • Annotation can be added to images; it can later be used for search.

Download cellAnalyst here.

Feedback will be appreciated!


May 12, 2008

Pattern recognition in computer vision, part 2

Let’s review part 1 first. If you have a 100×100 gray scale image, it is simply a table of 100×100 = 10,000 numbers. You rearrange the rows of this table into a 10,000-vector and represent the image as a point in the 10,000-dimensional Euclidean space. This enables you to measure distances between images, discover patterns, match images, etc. Now, what is wrong with this approach?

Suppose A, B, and C are images with a single black pixel in the left upper corner, next to it, and the right bottom corner respectively. Then, the distances will be the equal: d(A,B) = d(B,C) = d(C,A), no matter how you define the distance d(,) between points in this space. The conclusion: if A and B are in the same cluster, then so is C. So adjacency of pixels and distance between them is lost in this representation!

Of course this can be explained, as follows. The three images are essentially blank so it’s not surprising that they are close to the blank image and to each other. So as long as pixels are “small” the difference between these four images is justifiably negligible.

Of course, “small” pixels means “small” with respect to the size of the image. This means high resolution. High resolution means larger image (for the same “physical” object), which means higher dimension of the Euclidean space, which means higher computational costs. Not a good sign.

To take this line of thought all the way to the end, we have to ask the question: what if we keep increasing resolution?

The image will simply turn into an exact copy of the “physical” object. Initially, the image is a table of numbers. Now, you can think of the table as a rectangle subdivided into small squares, then the image is a function to the reals constant on each of these squares. As the resolution grows, the rectangle remains the same but the squares become smaller. In the end we have a - possibly continuous – function (as the limit of this sequence of functions). This is the “real” image and the rest are its approximations.

It’s not as clear what happens to the representations of images in the Euclidean space. The dimension of this space grows and in the end becomes infinite! It also seems that this new space should be made of infinite strings of numbers. That does not work out.

Indeed, consider this (“real”) image: a white square with a black upper left quarter. Let’s represent it first as a 2×2 image. Then in the 4-dimensional Euclidean space this image is (1,0,0,0). Now let’s increase the resolution. If this is a 4×4 image, it is (1,1,0,0,1,1,0,0,..,0) in the 16-dimensional space. In the 32-dimensional space it’s (1,1,1,1,0,0,0,0,1,1,1,1,0,0,0,0,1,1,1,1,0,…,0). You can see the pattern. But what is the end result (as the limit of this sequence of points)? It can’t be (1,1,1,…), can it? It definitely isn’t the original image. That image can’t even be represented as a string of numbers, not in any obvious way…

OK, these are just signs that there may be something wrong with this approach. A more tangible problem is that unless the two images are aligned first, there is no way to use this representation to discover that they depict the same or similar thing. About that in the next post.

May 7, 2008

Image search engines keep launching

Filed under: Image search, rants, news — Peter @ 10:25 pm

After Google “launched” its ImageRank - by presenting a paper about it, now there are two more.

First, Idée “publicly launched” its image search engine (report here). If you want to try it, they’ll put you on a waiting list. How is it different from what we saw before?

Second, “Pixsta launches image search engine” (report here). Testing is also closed. What is the difference from what we saw before?

The only good thing here is that I discovered a better term for visual image search, CBIR, etc. It’s “image-to-image search“, as opposed to text-to-text and text-to-image we are familiar with.

May 6, 2008

Pixcavator’s processing time

I’ve tried a variety of images and, as the diagram indicates, the processing time appears to depend linearly on the number N of pixels in the image. Roughly, 40 seconds for each million pixels in the image. The testing was done on HP Pavilion laptop with Intel Core 2 Dual CPU T7500 2.2GHz.


I can’t improve my estimate though. It’s O(N^2) (link to the article in Wikipedia). That’s how we get it. The analysis algorithm works as follows:

  • Each pixel is processed separately.
  • For each of the N pixels an object is created and you may have to run around it to mark its edges.
  • If this object is very thin and fills the image (like this spiral), its perimeter is proportional to N.

My feeling is that the images of this kind are unusual. Maps may be close, as well as microchips, or anything fractal-like. Cells are OK.







Update: The estimate O(N^2) refers to the time of image analysis - creation of the graph. After that, you still have to run up and down this graph to come up with the output data. BTW, the size of the graph and, therefore, the memory depends linearly on N, O(N).

May 2, 2008

Pattern recognition in computer vision, part 1

I read this press release a few weeks ago. Just like many others it presents some over-optimistic report of a new method that is supposed to solve a problem. Just like many others it’s about face recognition. For a change I decided to read the paper the report is based on and write up my thoughts. 

First, the paper itself is much more modest that the press release. That’s very common. Let’s look closer.

The traditional approach to face identification is to look for distinctive features – eyes, nose, mouth - and then match them with those of the other image or images. Here approach is to take everything in the image, every “feature”. First, let’s make this clear: when they say “features” they mean simply pixels! I have no idea why… They also don’t emphasize the obvious consequence – the method should work with any images not just faces.

This language of “features” obscures a common and straightforward approach to data representation and pattern recognition, as follows. Suppose you have a collection of 100×100 images. Then you rearrange the rows of this 100×100 “matrix” into a 10,000-vector. As a result, each image is represented as a point in the 10,000-dimensional space. This is clearly a brute force approach. However, something like that is inevitable if you don’t have an insight into the nature of the problem. Once all the data is in a Euclidean space (no matter how large) all statistical, data processing and pattern recognition methods can be used. Nice! The most common method is probably clustering – looking for groups of points unusually close to each other.

I have always felt OK about this approach but this time I started to doubt its applicability in analysis of images.

First you notice is that this approach can only work as long as all images have the same dimensions. It gets trickier if you study images of different dimensions. For example, if you had both 30×20 images and 1×600 images in the collection, that would really mess up everything! In a less extreme case, the presence of 30×20 and 20×30 images in the collection would be a problem. Of course you can simply add extra blank pixels up to 30×30 as a “common denominator”. However, it appeared to me that such a problem (and such an awkward solution) may be an indication of bigger issues with the whole approach.

I asked myself, does this approach preserve the structural information contained in the image? The very first thing to look at is the adjacency of pixels. Since each pixel corresponds to an independent dimension, it seems that the adjacency is still contained in those coordinates: (a,b,…) is not the same as (b,a,…). Wrong!

It suffices to look at the distance between points – images - in this 10,000-dimensional space. It can be defined in a number of ways, but as long as it is symmetric we have a problem. Suppose the distance between (1,0,…,0) and (0,1,0,…,0) is d. Then the distance between (1,0,…,0) and (0,0,…,0,1) is also d. Here (1,0,…,0) and (0,1,0,…,0) are two images with a single pixel in each – located adjacent to each other - while (0,0,…,0,1) has a pixel in the opposite corner! The result is odd and you have to ask yourself, can clustering be meaningful here?

More to come…

April 29, 2008

Google’s new image search

Filed under: Image search, computer vision/machine vision/AI, reviews, news — Peter @ 7:34 pm

A paper appeared recently on how to improve Google search. It has received a lot of media coverage including NY Times and TechCrunch. Since this is a topic that interests me a lot, I decided to write a few words.

The most important thing to understand here is that the paper isn’t about improving image search in general (especially visual image search and CBIR, see here). It is specifically about Google image search (and indirectly other search engines, MSN, Yahoo, etc). The goal is to improve it (because it sucks). It is currently based on surrounding text and as a result you get a lot of irrelevant images. Essentially, they add to this approach some image analysis. What kind? Not the best kind – “descriptors”. So there will be no analysis of the content of the image (see Fields related to computer vision). Even so, the descriptors will help to evaluate similarity between images - to a certain degree.

To summarize, some similarity measure plus hyperlinks - that will help with improving the search results for sure. Meanwhile, image search, image recognition etc remain unsolved.

Preliminary, local analysis

Filed under: releases, updates, image processing/image analysis software — Peter @ 3:16 am

The next release of cellAnalyst due in May will have one especially nice feature. The hardest part new users find about getting the best from cellAnalyst (and Pixcavator) is discovering good analysis settings - size, contrast etc. Trial and error takes too long, expecially for larger images. Now the user will have the ability to analyze a small rectangle to find the measurements of objects - cells - he is interested in and then apply these settings for the analysis of the whole image. In more detail, this is described in the wiki under Analysis Strategy.

April 26, 2008

Literate programming

Filed under: reviews, news — Peter @ 5:45 pm

I was reading this interview with Donald Knuth and “literate programming” was mentioned. I went to their site and this is what explained to me what it’s about:

Instead of writing code containing documentation, the literate programmer writes documentation containing code.

Suddenly I realized: that’s it! That’s what I’ve been trying to do in the wiki. It should be text illustrated with code not vice versa. Interesting…


April 19, 2008

Pixcavator PE – Photo Editing – released

Filed under: releases, image processing/image analysis software — Peter @ 6:54 pm

screenshot PixcavatorIt is built on the same platform as the standard – image analysis – version of Pixcavator. The roundness and saliency sliders are removed. The output table is reduced to location and sizes only. The features that the standard version does not have are:

  • Automatic simplification – smaller or low contrast objects are removed throughout, in all three channels. This is truly image simplification as finer details disappear.
  • Manual simplification – a selected contour is filled with the color surrounding it. In other words, this is spot cleaning (in the example below the mole was removed with a single click - nothing against it though). The feature was available before but not in color.
  • Isolating objects – everything but the selected objects is painted white. In other words, this is background removal.

spot cleaning 

For more examples, see the site.

More on the topic will appear in the wiki under Image manipulation.

Next Page »

| Home | Site map | Terms & Conditions | Contact us |                       Copyright© 2007 Intelligent Perception
paxil cr 25 cyclobenzaprine from home order 25 mg norvasc discount doctors comments on tylenol vicodin with phenylephrine atenolol chlorothalidone can synthroid be taken with actonel cocaine in blood stream by touching drug interaction prozac and zyban non alcohol agrement for tenants information on ketamine norco prescriptions online difference between tenuate and tenuate dospan recovering cocaine addicts and sating ranitidine during pregnancy ibuprofen cardiovascular effects marijuana dispensary ca valium versus klonopin ecstasy midnight blue mix opium body men phentermine and heart remeron agry mood church distance from alcohol washington state sublingual morphine sulfate overeating vs drinking alcohol hydrocodone mexico hydro marijuana flowering marijuana in your hair selling alcohol online usa cheapest sibutramine gag factor soma synthroid gree tea micromedex metformin marijuana colonial marijuana matthew hashish massachusetts injectable amoxicillin in canada alcohol abuse zocor drug class and mechanism acetaminophen ortho appendectomy ibuprofen prescription strength oxazepam 600 mg drug comparable to protonix contradictory outcomes on ketamine phentermine through body building aspirin plavix warning valium 2mg tablets pics cost of generic fexofenadine cialis compare prices is provigil an amphetimine enthalpy of combustion of alcohols medication tamoxifen 10 mg shanghai ecstasy red silicone canada heroins in peril clomid kans op tweeling igredents in mdma highblood pressure and zoloft flonase alesse medication tramadol facts about evista non-pharmacological increase testosterone foods to increase male testosterone naproxen apap buy drug generic generic online viagra is cipro penicillin based medications lexapro estradiol medicine compare actonel boniva and fosamax acetaminophen anti-inflammatory child tylenol low testosterone level in men costs of morphine clinical data for large dosage cialis cycle steroids drug and alcohol abuse prevention picture zoloft motrin reduces fever add adhd information library ritalin death marijuana and bronchitis marijuana anal sex ibuprofen ggtp arthritis pain reliever tylenol fluconazole canine want to know about cocaine is marijuana really to blame pr morphine cefzil drug type pantoprazole 40 mg zithromax versus augmentin oxycodone without a script diet and lowering testosterone atenolol and grapefruit juice viagra norco get xanax in findlay ohio new ritalin for preschoolers prilosec best price other words for marijuana alcohol and gaming divison in nm ionamin loss weight information online information symptom of alcohol intoxication viagra levitra dosage long acting ritalin cheapest price on ortho evra patch klonopin interaction metabolites ranitidine marijuana slang piff ativan discreet from europe alcohol 120 cracked phentermine 15mg fed ex overnight buy phentermine with no prior prescription valium alcohol interaction tramadol cloridrato carisoprodol bulk abuse alcohol among teen scanner dur e koenig alcohol free alcohol recovery programs effects of phenergan iv push hcg increase level nolvadex testosterone ciprofloxacin and asthma marijuana cookies recipe coumadin blood level paxil gun finimal alcohol myspace layout and alcohol alcohol clomiphene interaction drug and alcohol policy australia alcohol sugar in dietetic candy 2f allergic augmentin reaction ecstacy ghb rophynol buy phentermine at altairulit org what is cetyl stearyl alcohol finasteride ear ringing pepcid ac monograph augmentin sarcoidosis lowest nicotine cigarettes hsv i treating with valtrex lsd artist pharmaceutical manufacturer for vicodin alcohol for home consumption acyclovir cold sores night terrors alcohol use vicodin usage coronary artery diease and alcohol help vicoden effexor soma lexapro alcohol 120 key gen about softtabs cambucci alcohol imitrex a a drug and alcohol poster depression marijuana ciprofloxacin hydrochloride ophthalmic side effects metoprolol epinephrine zoloft and bipolar molecule found in steroids purchase claritin online drug seroquel aricept and alcohol okay together drinking alcohol lower back pain marathon norco battery data negative effect of drinking alcohol alcohol copy software mixing alcohol and marijuana effects relationships valtrex shelf life hydrocodone 10 650 phentermine cheapest in uk viagra gift ideas alcohol wellbutrin xl 150 m g acetaminophen dog steroid puchase propecia online what class of drug is heroin adderall prescribed cadmium marijuana xanax at cheapest rates diovan angioedema anabolic steroids from thailand adderall and symptoms of allergic reaction 5 ounces marijuana vicodin alchohol mexican tamoxifen morphine you speak my language phenergan and pregnancy test walgreens prescription for 100 mcg synthroid soma 9 coming down on cocaine lortab without prescription vicodin generic pravachol identification chemistry burning alcohol adipex for alcohol treatment centers-new haven ct natural ecstasy menopause estrogen progesterin testosterone is ultracet a narcotic drug access to alcohol acetaminophen synthesis line norvasc tylenol advil fever pregnancy coumadin emedicine which processed food contain folic acid cocaine research study is there a generic for celebrex valium with out prescription xanax cash on delivery sertraline success pictures of types of alcohol heroin cheese signs of use methamphetamine books listing editors not authors asthma chest pain relieved by steroids splitting viagra efficacy celebrex and canker sores effects of hydrocodone on a fetus acne tetracycline dosage 20mg ambien not working alcohol and drug treatment programs medicine terbinafine hcl drinking alcohol and nosebleeds freebasing adderall celebrex prescription drug stores condylox allegra common side effects zocor wbr vioxx lawyer phentermine p over night delivery viagra or clomid for blowjob fitness ambien alcohol interaction what is naproxen sodium coupon nexium prilosec prescribing information coreg cr penicillin dosage for horses dosing of biaxin abuse alcohol drug during pregnancy actos information what to take to intensify xanax drug alcohol abuse counseling zoloft side effects teens toxicidad celecoxib en perros methyl prednisone poison ivy treatment generic atorvastatin tablets dangers no membership discount valium alcohol drinking law crack cocaine additions overdose marijuana treating glucophage side effects ritalin in group batches of 3 overnight prednisone delivery anabolic steroids pravachol actos actos allopurinol cardinal health diet phentermine pill adipex overnight adipex medicine protonix gtt eyes alphagan ld 50 blood alcohol level ambien otc veterinarian drugs ketamine contamination standards of tertiary butyl alcohol advair 25051 puff victims of methamphetamine 5generic sildenafil regenerating a marijuana plant after harvest drugstore lynnwood oxycontin robbery 200 proof alcohol excess testosterone in women buspirone buspar weight gain softtabs indications fluoxetine wiki depakote and lexapro paroxetine en zwangerschap vinden taking altace with zoloft 5 500 apap hydrocodone niravan alprazolam phentermine 37.5 fed ex overnight slot machines celebrex alcohol dehydrogenase asian society for alcohol research when was ritalin first made b6 b12 and folic acid marijuana and semen analysis scram alcohol bracelet lohan take paroxetine weightloss clinics phentermine phentermine 37.5 overnight phentermine 37.5x90 list different types of alcohol ketamine hcl 100 banning alcohol at sporting events headache alcohol liver failure orbit valtrex information on lipitor bilirubin medroxyprogesterone and pregnancy planning nicotine vaccine ranitidine warts case studies dealing with alcohol klonopin overuse causes of alcohol alcohol sales sevier county ortho ontario cressini tussionex pennkinetic sus clubs medical marijuana northern ca paxil bruxism marijuana cuttings no humidity dome heroin treatment therapy prednisone oral rats spokane alcohol anonymus meetings marijuana monterey county head shop drug derived from opium poppy neurontin generic gabapentin sex side one drink of alcohol cialis buy online synthroid and lisinopril alcohol and an quit marijuana tips ketamine clinical trials for depression adderall addiction scientific quotes on cocaine agoraphobic nosebleed pcp torrent alcohol bath buy $5 testosterone amp celebrex class action attorneys norco tab ingredients prempro first prescribed oxycontin and litigation zetia and zocor combination pill diazepam during pregnancy marijuana in happy meal positive effects of ritalin alcohol and barretts syndrome xanax images 3 mg buy alcohol online dorm maintenance therapy for alcohol withdrawal taking effexor xr with adderall xr cephalexin origin zyrtec chewable tablet alcohol rehab naples florida isopropyl alcohol cas dot drug alcohol training coumadin and procrit panacea prozac portland university drug alcohol studies lab tech steroids acetaminophen cod 3 tablettev celebrex manufacturer boards chongqed lowest prices on generic viagra permanent damage from methamphetamines dogs using prednisone heroin compared to morphine cephalexin urinary concentration low cost no prescription required hydrocodone glucophage zenocal mdma maoi soma tramadol fioricet coreg cr 20mg price augmentin alcohol insulin resistance metformin treatment programs alcohol drug addiction norco aluminum floor jack is alcohol good could alcohol kill you alcohol in ear throbbing legalize medical marijuana richardson presidential norco evolution atorvastatin cva treatment vicodin and no prescription interactions of neurotin hydrocodone alcohol effect on siezures xanax lorazepam phentermine 40mg cheap claritin d 12hr canadian steroids fluoxetine package insert holy spay day wellbutrin approval batman marijuana drug in males sperm buy marijuana vaporizer doses of celecoxib hypnosis alcohol cessation virginia penicillin skin rash alcohol canister filter rear lsd doors cipro veterinary zocor and erectile disfunction vicodin lortab 10mg buy phentermine online about us armour thyroid bontril 100 mtch phentermine fetal alcohol abuse fioricet with codine adderall and alcohol interaction ambien no prescription 10mg does klonopin cause vivid dreams paxil lawsuit adipex and venezuela ritalin dexedrine good news women alcohol quantitiy alcohol sda uses pictures of soma the prescription drug pupils enlarged alcohol viagra insurance coverage health marijuana the board game cialis generic tadalafil best price compare alcohol abuse test carbohydrate-deficient laboratory glucophage diovan verapamil metabolites pcp pneumonia xray marijuana led light imitrex keyword psychological treatments for alcohol abuse pravachol florida age you can serve alcohol cephalexin and birth control tremor from atenolol variations of zoloft gumby hashish method lapacho and coumadin ritalin vs ritalin time released estradiol tablet cipro starts working within 24 hrs cheap levitra pill tramadol zyrtec alcohol anonymous tulsa okla zenegra softtabs online valium pill identification lortab drug info vegetative lighting marijuana ravesupply mdma cocaine addiction recover effexor manufacturer bupropion alcohol cocaine crack addicted babies photos order omeprazole alcohol after breast augmentation did cayce drink alcohol beat a cocaine drug test european alcohol age tylenol 100 mg celebrex for sale is adderall a class 3 drug alcohol and herion conceal marijuana coffee grinds diflucan ketamine oxycontin deafness phentermine phentermine online phentermine order buy abusing heroin while pregnat drinking alcohol and taking codeine baking with lsd missouri division of alcohol and tobacco alcohol and diverticulitis aciphex prilosec class of drug oxycodone irbesartan losartan equipoise injectable steroids sildenafil vs vardenafil clomid nolva dosages pct uk cialis viagra perscription alcohol and energy drinks dangerous mix keflex for sinus infections zolt ambien coumadin red urine tattoo's of alcohol purchase ghb products marijuana plants and deer once cocaine colorado attorney vioxx tobacco and alcohol advertising hyperactivity and marijuana body causing hot in sensation valium adipex without pescription alcohol brad paisley tab biaxin and milk dna and folic acid metabolic pathway2c funkadelic viagra zocor medication cocaine sellers six am the heroin diaries sugar alcohol and blood sugars alcohol and recipies is codiene stronger than vicodin celexa off weaning metformin effect on insulin resistance alcohol breathalyzer portable myofascial pain soma what are allergic reactions for amoxicillin prilosec heart toprol and pregnancy wheelers textbook of ortho heroin nico plavix interference with astragalus and fishoil discount cost 10 mg ambien ghb and penis nexium maker free lawsuit vioxx vioxx clomid serophere clomiphene interesting facts prednisone and hair loss umaxppc sumatriptan information absense alcohol opium supply biohazard steroids ambien serotonin syndrome alcohol abuse disorder drug and alcohol treatment florida tylenol migraine extended relief caplets bertha ortho ridalin mixed with alcohol alcohol content for liquor alcohol muscle relaxant can viagra help with sexual anxiety alcohol content wine vs beer cod delivery phentermine diflucan for onychomycosis heroin sale zyban without a prescription order cheap bontril alcohol law bartenders accolate interactions caffeine adderall xr deaths tadalafil vs viagra direct marketing for alcohol growing cocaine plants marijuana statistics chart breastfeeding marijuana effect indication for lipitor metformin and periods characteristics of alcohol fungi kaufman testosterone hydrochlorothiazide 25 mg overdose on line pharmacy xanax zanaflex abuse weight gain advair singulair alcohol related car accidents statistics actonel fosamax evista comparrisons medicine singulair prednisone adverse side effects marijuana drying methods detox drug lorcet 20 sibutramine phentermine long-term effects of smoking marijuana sildenafil hemodynamics super 1 can alcohol trigger panic attacks effects lexapro quitting side medical-grade marijuana find viagra free search 76k buy free shipping cialis cheap smoking marijuana in vegetable cellulose stages of alcohol abuse alcohol drink recipes systome of high dilantin levels cipro cancer conjugated linoleic acid paxil drug interaction singulair legs philip home and rosiglitazone christian alcohol treatment texas fetal alcohol syndrome organizations buy naltrexone disque and dur and toshiba alcohol tobacco and firearms bureau enalapril canine side effects norco what is it abrams marijuana study beta adipex 37.5 canada medical marijuana doctors in oregon state verapamil wihtdrawal pregancy alcohol march for dimes msds promethazine marijuana legalization and the black market most potent marijuana seeds flexeril xanax urine clomiphene citrate first available best price for tamsulosin generic flomax is tobradex generic canine lymphoma and prednisone treatment tylenol televishon comercial nhs prices viagra uk cocaine drug history chemical composition of folic acid ritalin recommended adult dosage purchase clonidine next day shipping hi gain alcohol program discount omeprazole generic prilosec accolate encapsulation talking back to prozac national association drug alcohol claritin b12 absorption liver problems flonase meridia law journal legal alcohol limit in michigan adderall true positive for meth oxycontin busts seroquel syncope hypotension can you snort ibuprofen baby clomid posted side suzs transderm scope was prescribed morphine pill snorting alcohol and ramipril personal alcohol conseler orlando basal ganglia and prozac imitrex causes severe musle pain phentermine message board low cost xenical current event on cocaine reducing alcohol detoxification costs 512 oxycodone prices flexeril alcohol buy offshore medications adderall mcmahon medical marijuana digoxin norvasc methamphetamines treatment de ear inner mal meclizine treatment internet pharmacy ultram adipex online approval adderall duration names of alcohol shots cyclobenzaprine supplier keflex sinus infection tricor ta heroin long-term effects symptoms of paxil side effects fo levaquin side effects of wellbutrin sr picture of alcohol ads male testosterone supplements what is valtrex used for cetirizine dietary supplement delivered no overnight prescription xanax pravachol side effects interactions and information phentermine adverse effects warnings pill benicar infant on ecstasy what are different names for marijuana back pain bupropion cocaine vessel zanaflex toprol xl interaction do steroids work immediately prilosec vitamine b12 cocaine federal parole alcohol banners effects of cocaine usage trazodone tazodone rick monteiro norco tylenol wikipedia claritin d over the counter what is lotrisone cream black out alcohol lsd fuck vip dvd cialis viagra mastercard accepted soma south mdma rectally methods tretinoin cream emollient .025 infrared spectra ethyl alcohol oxycontin death statistics from uk brand name for enalapril methamphetamine lung disorder drug interactions flomax viagra soma by buy ambien cr online no rx diovan prescription drug alcohol consumption and advertising fentanyl clonidine laryngoscopy and intubation ranitidine no prescription viagra modify discount alcohol and common cold zyrtec hawaii sugar content in alcohol alcohol amine ether ketone aldehyde hydrocodone loratab lortab penicillin headache advice paroxetine withdrawl symptons mainlining tylenol 4 marijuana reagea alcohol party supplies soma netwroks drug category of ecstasy adipex and prozac metoprolol tartrate dosage marijuana abuse among teenagers lsd marijuana mix oxycontin international macrobid 100 mg cough sore throat tylenol is relafen a narcotic pravachol bontril cialis online pharmacy phentermine sales gen ranitidine ranitidine hcl imitrex lysergic acid diethylamide climara side effects of morphine during sugery seroquel and decrease in semen marijuana t-shirts quincy carter cocaine ignition alcohol recognition system smart start glover and zyban marijuana grow gides ingredients in synthroid depakote and laser hair removal generic allegra 180 infant fetal alcohol adderall dehydration xr vicodin rape drug cheap ranitidine online viagra houston drug and alcohol abuse in wa elidel cancer warnings discount sildenafil generic viagra expired vicodin pills alcohol rehab washington dc medicare hydrocodone pill description actonel bad for teeth online pharmacy viagra cialis levitra manufactures famvir synthroid pravachol avapro index php side affects of amoxicillin in dogs pravachol and rash alcohol is my anti drug free ortho evra combine lexapro and effexor nexium reflux advair duration of use morphine hair heroin addicts marigo what is the drug relafen synthroid and pain killers over-the-counter amphetamines adderall drug test how long mixing prescription drug with alcohol alcohol and domestic violence statistics colchicine medication chocolate drink alcohol permanent nicotine tolerance bad side effects of zocor crack alcohol soma club houston tx ortho tri cyclen lo tablet tamoxifen and von willebrand disease what is alcohol drug nicotine counseling what is ativan medication celebrex side affect it's monday tylenol florida ramipril reactions altace side advair inhalers medical marijuana con cody dunn norco no prescription needed for cheap adipex after effexor loss weight speakers on alcohol abuse tylenol withdrawal symptoms ortho try cycline low prescribe valium captian cocaine metformin pregnancy infertility doxazosin mesylate legal marijuana country canada rx 773 lorazepam swollen ankles heroin acid does folic alcohol christmas gift ideas dr james whitney ortho ga cool alcohol myspace comments penicillin and bread mold side effects o hydrochlorothiazide lose weight pill diet phentermine pill buy vicodin now yasmin rios shemale methamphetamine production recipe penicillin pk ibuprofen false positive alcohol results tiamin mononitrate lyrics your prozac lung marijuana free inpatient alcohol phoenix <a href="