[MINC-users] median filter
Vladimir S. FONOV
vladimir.fonov at gmail.com
Fri Jan 28 14:16:11 EST 2011
Hello,
why not to use mincstat -pctT 50 for this ?
Mishkin Derakhshan wrote:
> Alternatively, here is a perl script that does the filtering on the
> histogram of the data, and not the data itself.
>
>
> #! /usr/bin/perl
>
> my $default = 5;
> if (scalar(@ARGV) < 1) {
> usage(1);
> exit(1);
> }
>
>
> my $cnt=0;
> my ($i, $j, $p);
> my @pts;
> my @arr;
> my @bins;
> my $median_samples=$ARGV[1];
>
>
> if(!defined($median_samples)){
> $median_sample=$default;
> print "Using default window size of: $default\n";
> }
>
> open(FIN,"$ARGV[0]");
> while(<FIN>){
> $i="";
> chomp;
> ($j, $i, $p)=split(/ +/,$_);
> # print "[$j] [$i] [$p]\n";
> if($j !~ m/\#/){
> if("$i" ne ""){
> push @pts, $p;
> push @bins, $i;
> $cnt++;
> }
> }
> }
>
> my $hmedian= int($median_samples/2);
> for ($i=0; $i<=$cnt-$median_samples; $i++){
> my @arr;
> for ($j=0; $j<=$median_samples; $j++){
> $arr[$j]= $pts[$i+$j]
> }
> my @sorted= sort {$a <=> $b} @arr;
> push @filtered, $sorted[$hmedian];
> }
>
> for ($i=0; $i< $hmedian; $i++){
> unshift @filtered, $filtered[0];
> push @filtered, $filtered[$#filtered];
> }
>
> # print map "$_\n", @filtered;
> for ($i=0; $i< $cnt; $i++){
> print " $bins[$i] $filtered[$i]\n";
> }
>
> sub usage{
> @params = @_;
> @array = split(/\//,$0);
> $me = $array[$#array];
> if($params[0]==1){
> print "\nDoes a median filter on histogram data. The input
> file is the output from mincstats\n";
> #print "\tOptions:\n";
> print "\n[window_size] is the number of bins to include when
> calculating the median (default: ${default})\n";
> print "\n";
> }
> print "\nUsage:";
> print "\t$me <histfile.txt> [window_size]\n";
> #print "\t$me -help\n";
> }
>
>
> On Fri, Jan 28, 2011 at 12:28 PM, francois hebert
> <francois.hebert007 at gmail.com> wrote:
>> Thanks a lot.
>>
>> Francois
>>
>> 2011/1/28 Vladimir S. FONOV <vladimir.fonov at gmail.com>
>>
>>> Hello,
>>>
>>> looks like mailing list removes attachments. Here it is:
>>> http://www.bic.mni.mcgill.ca/~vfonov/software/itk_g_morph.cpp<http://www.bic.mni.mcgill.ca/%7Evfonov/software/itk_g_morph.cpp>
>>>
>>>
>>> francois hebert wrote:
>>>
>>>> Hello,
>>>>
>>>> Not sure but I think you forgot to attach the file.
>>>>
>>>> 2011/1/28 Vladimir FONOV <vladimir.fonov at gmail.com>
>>>>
>>>> Hello,
>>>>> see attached file for my grayscale morphology program.
>>>>>
>>>>>
>>>>> francois hebert wrote:
>>>>>
>>>>> Thanks for the tip I will have a look on it.
>>>>>> Francois
>>>>>>
>>>>>> 2011/1/28 Vladimir FONOV <vladimir.fonov at gmail.com>
>>>>>>
>>>>>> Hello,
>>>>>>
>>>>>>> I use morphology filters from ITK, using ezminc to interface it with
>>>>>>> MINC:
>>>>>>>
>>>>>>> http://en.wikibooks.org/wiki/MINC/EZMINC
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> francois hebert wrote:
>>>>>>>
>>>>>>> I wuld like to know if there is a median filter in the minc tool or if
>>>>>>>
>>>>>>>> somebody have it?
>>>>>>>> I know that we can specified kernel with mincmoprh but i'm not sure I
>>>>>>>> can
>>>>>>>> use mincmorph to perform the median filtering.
>>>>>>>>
>>>>>>>> --
>>>>> Best regards,
>>>>> Vladimir S. FONOV ~ v.s.fonov <at> ilmarin.info
>>>>>
>>>>> _______________________________________________
>>>>> MINC-users at bic.mni.mcgill.ca
>>>>> http://www.bic.mni.mcgill.ca/mailman/listinfo/minc-users
>>>>>
>>>>>
>>>>> _______________________________________________
>>>> MINC-users at bic.mni.mcgill.ca
>>>> http://www.bic.mni.mcgill.ca/mailman/listinfo/minc-users
>>>>
>>>
>>> --
>>> Best regards,
>>> Vladimir S. FONOV ~ v.s.fonov <at> ilmarin.info
>>> _______________________________________________
>>> MINC-users at bic.mni.mcgill.ca
>>> http://www.bic.mni.mcgill.ca/mailman/listinfo/minc-users
>>>
>> _______________________________________________
>> MINC-users at bic.mni.mcgill.ca
>> http://www.bic.mni.mcgill.ca/mailman/listinfo/minc-users
>>
> _______________________________________________
> MINC-users at bic.mni.mcgill.ca
> http://www.bic.mni.mcgill.ca/mailman/listinfo/minc-users
--
Best regards,
Vladimir S. FONOV ~ v.s.fonov <at> ilmarin.info
More information about the MINC-users
mailing list