Measuring fish larvae
We have been trying for the last week to get the Fibre App to measure fish larvae (image attached) but haven't had much success as yet. I wondered if anyone else has used this App for this purpose, or if Premier has another simpler way to do this?
When we run the App it only selects a few of the fish, and does not manage to trace along to the very tip of the fish's tail (which is quite indistinct)...and quite frequently treats 1 fish as though it was 2. We have tried using a mask first, but still no luck. It's obviously in the way we have set up the fibre parameters, but (to our knowledge) we have put in realistic pixel numbers.
Any pointers at all as to what we may be doing wrong would be most helpful!
Fiona
0
Answers
The image is not easy to measure and needs some pre-processing.
I used the following macro to process the image and make it more contrast:
Public Function ProcessFish() As SimpleScript ProcessFish = New SimpleScript Dim doc1, image1, doc2 With Application.DocumentCommands.Active(ProcessFish) .Run(doc1) End With With Adjust.LookupTableCommands.BestFit(ProcessFish) .LUT = -1 .Mode = Display.BestFit.BestFitMode.BestFit .ColorOption = Display.BestFit.ColorOptions.Extremes .ActiveFrameOnly = False .Run(doc1) End With With Adjust.ImageCommands.Convert(ProcessFish) .Destination = Image.ConvertTypes.Mono8 .ConvertOption = Image.ConvertOptions.Custom .SourceRange = New RangeD(0R, 438R) .DestinationRange = New RangeD(0R, 255R) .Visible = True .Run(doc1, image1) End With With Application.DocumentCommands.Activate(ProcessFish) .Run(image1, doc2) End With With Process.Filter.LargeCommands.EdgePlusLarge(ProcessFish) .Passes = 1 .Strength = 11 .Width = 159 .Height = 159 .Run(image1, image1) End With With Process.Filter.LargeCommands.LowPassLarge(ProcessFish) .Passes = 2 .Width = 5 .Height = 5 .Run(image1, image1) End With End Function
and then I used Fiber Separation app to measure it.
Not all fishes are properly separated, but it can be a starting point for manual editing.
Regards,
Yuri