It is difficult to work with, but it blows all other visualisation
software out of the water.  It would not be too hard to get this
multiple point support.  If you are interested in using OpenDX more
for your thesis, this addition would really pay off.  It would be
awesome for directly visualising the pre and post failure points you
are interested in and really make the thesis colourful!  And adding
this multi-point ability to relax will save you a lot of time later
with figure creation.  I should have implemented this when I was
creating thesis figures for myself, but I thought, incorrectly, that
it would be quicker to simply add the points by hand afterwards.  This
change just needs to be done in parts as I mentioned, to avoid many
commit reversions.  I'll direct you along the right path, if you so
wish.

Regards,

Edward



On 8 May 2014 19:07, Troels Emtekær Linnet <[email protected]> wrote:
> It is a crazy hysterical program...
>
> But oh so powerful for visualization!
>
> I have only dreamt about such graphs, and now they are here.!
>
> I remember clearly your paper with the figures, and thought it was so awesome.
>
> Until now, I just got it to work with several points in one file.
>
> Thats fine for me now.
>
> Best
> Troels
>
> 2014-05-08 19:02 GMT+02:00 Edward d'Auvergne <[email protected]>:
>> Hi,
>>
>> To get this right, you need to do in in parts.  First get the relax
>> code to produce a new tab for the each point.  Only then, once you can
>> see these multiple tabs in the dx software, can you worry about
>> connecting it up in the dx program.  That would then involve:
>>
>> 1) start by taking an existing OpenDX program,
>> 2) modify it manually in dx,
>> 3) save the program to a new name,
>> 4) use diff to compare the new and old programs.
>>
>> This needs to be done slowly, one change at a time!  You will not be
>> able to do this all in one commit.  Or at least I don't have the
>> ability to.
>>
>> Regards,
>>
>> Edward
>>
>>
>>
>>
>> On 8 May 2014 16:28, Edward d'Auvergne <[email protected]> wrote:
>>> Hi,
>>>
>>> The pipe_control/opendx.py change here doesn't do anything.  As I
>>> mentioned previously
>>> (http://article.gmane.org/gmane.science.nmr.relax.devel/5680), without
>>> a little planning, you will run into problems with this change to
>>> lib/software/opendx/files.py!
>>>
>>> Regards,
>>>
>>> Edward
>>>
>>>
>>> On 8 May 2014 15:59,  <[email protected]> wrote:
>>>> Author: tlinnet
>>>> Date: Thu May  8 15:59:36 2014
>>>> New Revision: 23087
>>>>
>>>> URL: http://svn.gna.org/viewcvs/relax?rev=23087&view=rev
>>>> Log:
>>>> Tried to make writing of the map.general file.
>>>>
>>>> task #7791: (https://gna.org/task/index.php?7791 ) the dx.map should 
>>>> accept a list of list with values for points.
>>>>
>>>> Modified:
>>>>     trunk/lib/software/opendx/files.py
>>>>     trunk/pipe_control/opendx.py
>>>>
>>>> Modified: trunk/lib/software/opendx/files.py
>>>> URL: 
>>>> http://svn.gna.org/viewcvs/relax/trunk/lib/software/opendx/files.py?rev=23087&r1=23086&r2=23087&view=diff
>>>> ==============================================================================
>>>> --- trunk/lib/software/opendx/files.py  (original)
>>>> +++ trunk/lib/software/opendx/files.py  Thu May  8 15:59:36 2014
>>>> @@ -228,7 +228,7 @@
>>>>      file.write("// MODULE main\n")
>>>>
>>>>      # Include the sphere.
>>>> -    if num_points == 1:
>>>> +    if num_points > 0:
>>>>          file.write("\n")
>>>>          file.write("// page assignment: Colour Space\torder=3, 
>>>> windowed=0, showing=0\n")
>>>>          file.write("// page assignment: ColourScene\t\torder=5, 
>>>> windowed=0, showing=0\n")
>>>> @@ -259,64 +259,66 @@
>>>>      file.write("    // \n")
>>>>
>>>>      # Include the sphere.
>>>> -    if num_points == 1:
>>>> -        file.write("\n")
>>>> -        file.write("    // node Import[4]: x = 177, y = 62, inputs = 6, 
>>>> label = %s\n" % point_file)
>>>> -        file.write("    // input[1]: defaulting = 0, visible = 1, type = 
>>>> 32, value = \"%s.general\"\n" % point_file)
>>>> -        file.write("    // input[3]: defaulting = 1, visible = 1, type = 
>>>> 32, value = \"general\"\n")
>>>> -        file.write("    // page group: Glyph\n")
>>>> -        file.write("    //\n")
>>>> -        file.write("main_Import_4_out_1 = \n")
>>>> -        file.write("    Import(\n")
>>>> -        file.write("    main_Import_4_in_1,\n")
>>>> -        file.write("    main_Import_4_in_2,\n")
>>>> -        file.write("    main_Import_4_in_3,\n")
>>>> -        file.write("    main_Import_4_in_4,\n")
>>>> -        file.write("    main_Import_4_in_5,\n")
>>>> -        file.write("    main_Import_4_in_6\n")
>>>> -        file.write("    ) [instance: 4, cache: 1];\n")
>>>> -        file.write("    // \n")
>>>> -        file.write("    // node Glyph[2]: x = 201, y = 182, inputs = 7, 
>>>> label = Glyph\n")
>>>> -        file.write("    // input[2]: defaulting = 0, visible = 1, type = 
>>>> 32, value = \"sphere\"\n")
>>>> -        file.write("    // input[3]: defaulting = 1, visible = 1, type = 
>>>> 5, value = 10.0\n")
>>>> -        file.write("    // input[4]: defaulting = 0, visible = 1, type = 
>>>> 5, value = %s\n" % sphere_size)
>>>> -        file.write("    // input[5]: defaulting = 0, visible = 1, type = 
>>>> 5, value = 0.0\n")
>>>> -        file.write("    // page group: Glyph\n")
>>>> -        file.write("    //\n")
>>>> -        file.write("main_Glyph_2_out_1 = \n")
>>>> -        file.write("    Glyph(\n")
>>>> -        file.write("    main_Import_4_out_1,\n")
>>>> -        file.write("    main_Glyph_2_in_2,\n")
>>>> -        file.write("    main_Glyph_2_in_3,\n")
>>>> -        file.write("    main_Glyph_2_in_4,\n")
>>>> -        file.write("    main_Glyph_2_in_5,\n")
>>>> -        file.write("    main_Glyph_2_in_6,\n")
>>>> -        file.write("    main_Glyph_2_in_7\n")
>>>> -        file.write("    ) [instance: 2, cache: 1];\n")
>>>> -        file.write("    // \n")
>>>> -        file.write("    // node Color[10]: x = 357, y = 278, inputs = 5, 
>>>> label = Color\n")
>>>> -        file.write("    // input[2]: defaulting = 0, visible = 1, type = 
>>>> 8, value = [0 0 0]\n")
>>>> -        file.write("    // input[3]: defaulting = 0, visible = 1, type = 
>>>> 5, value = 1.0\n")
>>>> -        file.write("    // page group: Glyph\n")
>>>> -        file.write("    //\n")
>>>> -        file.write("main_Color_10_out_1 = \n")
>>>> -        file.write("    Color(\n")
>>>> -        file.write("    main_Glyph_2_out_1,\n")
>>>> -        file.write("    main_Color_10_in_2,\n")
>>>> -        file.write("    main_Color_10_in_3,\n")
>>>> -        file.write("    main_Color_10_in_4,\n")
>>>> -        file.write("    main_Color_10_in_5\n")
>>>> -        file.write("    ) [instance: 10, cache: 1];\n")
>>>> -        file.write("    // \n")
>>>> -        file.write("    // node Transmitter[1]: x = 352, y = 386, inputs 
>>>> = 1, label = GreySphere\n")
>>>> -        file.write("    // page group: Glyph\n")
>>>> -        file.write("    //\n")
>>>> -        file.write("GreySphere = main_Color_10_out_1;\n")
>>>> -        file.write("    // \n")
>>>> -        file.write("    // node Receiver[2]: x = 190, y = 350, inputs = 
>>>> 1, label = GreySphere\n")
>>>> -        file.write("    // page group: Grey Space\n")
>>>> -        file.write("    //\n")
>>>> -        file.write("main_Receiver_2_out_1[cache: 0] = GreySphere;\n")
>>>> +    if num_points > 0:
>>>> +        for i in range(num_points):
>>>> +            i_point_file = "%s_%i"%(point_file, i)
>>>> +            file.write("\n")
>>>> +            file.write("    // node Import[4]: x = 177, y = 62, inputs = 
>>>> 6, label = %s\n" % i_point_file)
>>>> +            file.write("    // input[1]: defaulting = 0, visible = 1, 
>>>> type = 32, value = \"%s.general\"\n" % i_point_file)
>>>> +            file.write("    // input[3]: defaulting = 1, visible = 1, 
>>>> type = 32, value = \"general\"\n")
>>>> +            file.write("    // page group: Glyph\n")
>>>> +            file.write("    //\n")
>>>> +            file.write("main_Import_4_out_1 = \n")
>>>> +            file.write("    Import(\n")
>>>> +            file.write("    main_Import_4_in_1,\n")
>>>> +            file.write("    main_Import_4_in_2,\n")
>>>> +            file.write("    main_Import_4_in_3,\n")
>>>> +            file.write("    main_Import_4_in_4,\n")
>>>> +            file.write("    main_Import_4_in_5,\n")
>>>> +            file.write("    main_Import_4_in_6\n")
>>>> +            file.write("    ) [instance: 4, cache: 1];\n")
>>>> +            file.write("    // \n")
>>>> +            file.write("    // node Glyph[2]: x = 201, y = 182, inputs = 
>>>> 7, label = Glyph\n")
>>>> +            file.write("    // input[2]: defaulting = 0, visible = 1, 
>>>> type = 32, value = \"sphere\"\n")
>>>> +            file.write("    // input[3]: defaulting = 1, visible = 1, 
>>>> type = 5, value = 10.0\n")
>>>> +            file.write("    // input[4]: defaulting = 0, visible = 1, 
>>>> type = 5, value = %s\n" % sphere_size)
>>>> +            file.write("    // input[5]: defaulting = 0, visible = 1, 
>>>> type = 5, value = 0.0\n")
>>>> +            file.write("    // page group: Glyph\n")
>>>> +            file.write("    //\n")
>>>> +            file.write("main_Glyph_2_out_1 = \n")
>>>> +            file.write("    Glyph(\n")
>>>> +            file.write("    main_Import_4_out_1,\n")
>>>> +            file.write("    main_Glyph_2_in_2,\n")
>>>> +            file.write("    main_Glyph_2_in_3,\n")
>>>> +            file.write("    main_Glyph_2_in_4,\n")
>>>> +            file.write("    main_Glyph_2_in_5,\n")
>>>> +            file.write("    main_Glyph_2_in_6,\n")
>>>> +            file.write("    main_Glyph_2_in_7\n")
>>>> +            file.write("    ) [instance: 2, cache: 1];\n")
>>>> +            file.write("    // \n")
>>>> +            file.write("    // node Color[10]: x = 357, y = 278, inputs = 
>>>> 5, label = Color\n")
>>>> +            file.write("    // input[2]: defaulting = 0, visible = 1, 
>>>> type = 8, value = [0 0 0]\n")
>>>> +            file.write("    // input[3]: defaulting = 0, visible = 1, 
>>>> type = 5, value = 1.0\n")
>>>> +            file.write("    // page group: Glyph\n")
>>>> +            file.write("    //\n")
>>>> +            file.write("main_Color_10_out_1 = \n")
>>>> +            file.write("    Color(\n")
>>>> +            file.write("    main_Glyph_2_out_1,\n")
>>>> +            file.write("    main_Color_10_in_2,\n")
>>>> +            file.write("    main_Color_10_in_3,\n")
>>>> +            file.write("    main_Color_10_in_4,\n")
>>>> +            file.write("    main_Color_10_in_5\n")
>>>> +            file.write("    ) [instance: 10, cache: 1];\n")
>>>> +            file.write("    // \n")
>>>> +            file.write("    // node Transmitter[1]: x = 352, y = 386, 
>>>> inputs = 1, label = GreySphere\n")
>>>> +            file.write("    // page group: Glyph\n")
>>>> +            file.write("    //\n")
>>>> +            file.write("GreySphere = main_Color_10_out_1;\n")
>>>> +            file.write("    // \n")
>>>> +            file.write("    // node Receiver[2]: x = 190, y = 350, inputs 
>>>> = 1, label = GreySphere\n")
>>>> +            file.write("    // page group: Grey Space\n")
>>>> +            file.write("    //\n")
>>>> +            file.write("main_Receiver_2_out_1[cache: 0] = GreySphere;\n")
>>>>
>>>>      # Common code.
>>>>      file.write("\n")
>>>> @@ -517,7 +519,7 @@
>>>>      file.write("    // \n")
>>>>
>>>>      # Include the sphere.
>>>> -    if num_points == 1:
>>>> +    if num_points > 0:
>>>>          file.write("\n")
>>>>          file.write("    // node Collect[8]: x = 293, y = 431, inputs = 2, 
>>>> label = Collect\n")
>>>>          file.write("    // page group: Grey Space\n")
>>>> @@ -541,7 +543,7 @@
>>>>      file.write("    // \n")
>>>>
>>>>      # Include the sphere.
>>>> -    if num_points == 1:
>>>> +    if num_points > 0:
>>>>          file.write("\n")
>>>>          file.write("GreySpace = main_Collect_8_out_1;\n")
>>>>
>>>> @@ -636,7 +638,7 @@
>>>>      file.write("    // \n")
>>>>
>>>>      # Include the sphere.
>>>> -    if num_points == 1:
>>>> +    if num_points > 0:
>>>>          file.write("\n")
>>>>          file.write("    // node Color[11]: x = 133, y = 278, inputs = 5, 
>>>> label = Color\n")
>>>>          file.write("    // input[2]: defaulting = 0, visible = 1, type = 
>>>> 8, value = [1 0 0]\n")
>>>> @@ -773,7 +775,7 @@
>>>>      file.write("    // \n")
>>>>
>>>>      # Include the sphere.
>>>> -    if num_points == 1:
>>>> +    if num_points > 0:
>>>>          file.write("\n")
>>>>          file.write("    // node Collect[12]: x = 293, y = 431, inputs = 
>>>> 2, label = Collect\n")
>>>>          file.write("    // page group: Colour Space\n")
>>>> @@ -797,7 +799,7 @@
>>>>      file.write("    // \n")
>>>>
>>>>      # Include the sphere.
>>>> -    if num_points == 1:
>>>> +    if num_points > 0:
>>>>          file.write("\n")
>>>>          file.write("ColourSpace = main_Collect_12_out_1;\n")
>>>>
>>>> @@ -1035,29 +1037,33 @@
>>>>      file.write("}\n")
>>>>
>>>>      # Include the sphere.
>>>> -    if num_points == 1:
>>>> -        file.write("\n")
>>>> -        file.write("main_Import_4_in_1 = \"%s.general\";\n" % point_file)
>>>> -        file.write("main_Import_4_in_2 = NULL;\n")
>>>> -        file.write("main_Import_4_in_3 = NULL;\n")
>>>> -        file.write("main_Import_4_in_4 = NULL;\n")
>>>> -        file.write("main_Import_4_in_5 = NULL;\n")
>>>> -        file.write("main_Import_4_in_6 = NULL;\n")
>>>> -        file.write("main_Import_4_out_1 = NULL;\n")
>>>> -        file.write("main_Glyph_2_in_2 = \"sphere\";\n")
>>>> -        file.write("main_Glyph_2_in_3 = NULL;\n")
>>>> -        file.write("main_Glyph_2_in_4 = %s;\n" % sphere_size)
>>>> -        file.write("main_Glyph_2_in_5 = 0.0;\n")
>>>> -        file.write("main_Glyph_2_in_6 = NULL;\n")
>>>> -        file.write("main_Glyph_2_in_7 = NULL;\n")
>>>> -        file.write("main_Glyph_2_out_1 = NULL;\n")
>>>> -        file.write("main_Color_10_in_2 = [0 0 0];\n")
>>>> -        file.write("main_Color_10_in_3 = 1.0;\n")
>>>> -        file.write("main_Color_10_in_4 = NULL;\n")
>>>> -        file.write("main_Color_10_in_5 = NULL;\n")
>>>> -        file.write("main_Color_10_out_1 = NULL;\n")
>>>> -        file.write("main_Transmitter_1_out_1 = NULL;\n")
>>>> -        file.write("main_Receiver_2_out_1 = NULL;\n")
>>>> +    if num_points > 0:
>>>> +        if num_points > 0:
>>>> +            for i in range(num_points):
>>>> +                i_point_file = "%s_%i"%(point_file, i)
>>>> +
>>>> +                file.write("\n")
>>>> +                file.write("main_Import_4_in_1 = \"%s.general\";\n" % 
>>>> i_point_file)
>>>> +                file.write("main_Import_4_in_2 = NULL;\n")
>>>> +                file.write("main_Import_4_in_3 = NULL;\n")
>>>> +                file.write("main_Import_4_in_4 = NULL;\n")
>>>> +                file.write("main_Import_4_in_5 = NULL;\n")
>>>> +                file.write("main_Import_4_in_6 = NULL;\n")
>>>> +                file.write("main_Import_4_out_1 = NULL;\n")
>>>> +                file.write("main_Glyph_2_in_2 = \"sphere\";\n")
>>>> +                file.write("main_Glyph_2_in_3 = NULL;\n")
>>>> +                file.write("main_Glyph_2_in_4 = %s;\n" % sphere_size)
>>>> +                file.write("main_Glyph_2_in_5 = 0.0;\n")
>>>> +                file.write("main_Glyph_2_in_6 = NULL;\n")
>>>> +                file.write("main_Glyph_2_in_7 = NULL;\n")
>>>> +                file.write("main_Glyph_2_out_1 = NULL;\n")
>>>> +                file.write("main_Color_10_in_2 = [0 0 0];\n")
>>>> +                file.write("main_Color_10_in_3 = 1.0;\n")
>>>> +                file.write("main_Color_10_in_4 = NULL;\n")
>>>> +                file.write("main_Color_10_in_5 = NULL;\n")
>>>> +                file.write("main_Color_10_out_1 = NULL;\n")
>>>> +                file.write("main_Transmitter_1_out_1 = NULL;\n")
>>>> +                file.write("main_Receiver_2_out_1 = NULL;\n")
>>>>
>>>>      # Common code.
>>>>      file.write("\n")
>>>> @@ -1125,7 +1131,7 @@
>>>>      file.write("main_Collect_7_out_1 = NULL;\n")
>>>>
>>>>      # Include the sphere.
>>>> -    if num_points == 1:
>>>> +    if num_points > 0:
>>>>          file.write("\n")
>>>>          file.write("main_Collect_8_out_1 = NULL;\n")
>>>>
>>>> @@ -1164,7 +1170,7 @@
>>>>      file.write("main_AutoAxes_2_out_1 = NULL;\n")
>>>>
>>>>      # Include the sphere.
>>>> -    if num_points == 1:
>>>> +    if num_points > 0:
>>>>          file.write("\n")
>>>>          file.write("main_Color_11_in_2 = [1 0 0];\n")
>>>>          file.write("main_Color_11_in_3 = 1.0;\n")
>>>> @@ -1205,7 +1211,7 @@
>>>>      file.write("main_Collect_11_out_1 = NULL;\n")
>>>>
>>>>      # Include the sphere.
>>>> -    if num_points == 1:
>>>> +    if num_points > 0:
>>>>          file.write("\n")
>>>>          file.write("main_Collect_12_out_1 = NULL;\n")
>>>>
>>>>
>>>> Modified: trunk/pipe_control/opendx.py
>>>> URL: 
>>>> http://svn.gna.org/viewcvs/relax/trunk/pipe_control/opendx.py?rev=23087&r1=23086&r2=23087&view=diff
>>>> ==============================================================================
>>>> --- trunk/pipe_control/opendx.py        (original)
>>>> +++ trunk/pipe_control/opendx.py        Thu May  8 15:59:36 2014
>>>> @@ -175,6 +175,7 @@
>>>>
>>>>          # Create the OpenDX .general and data files for the given point.
>>>>          if self.num_points == 1:
>>>> +            file_prefix = "%s_0"%(self.point_file)
>>>>              write_point(file_prefix=self.point_file, dir=self.dir, 
>>>> inc=self.inc, point=self.point, bounds=self.bounds, N=self.n)
>>>>
>>>>          # Generate the OpenDX .general and data files for each point.
>>>>
>>>>
>>>> _______________________________________________
>>>> relax (http://www.nmr-relax.com)
>>>>
>>>> This is the relax-commits mailing list
>>>> [email protected]
>>>>
>>>> To unsubscribe from this list, get a password
>>>> reminder, or change your subscription options,
>>>> visit the list information page at
>>>> https://mail.gna.org/listinfo/relax-commits
>>
>> _______________________________________________
>> relax (http://www.nmr-relax.com)
>>
>> This is the relax-devel mailing list
>> [email protected]
>>
>> To unsubscribe from this list, get a password
>> reminder, or change your subscription options,
>> visit the list information page at
>> https://mail.gna.org/listinfo/relax-devel

_______________________________________________
relax (http://www.nmr-relax.com)

This is the relax-devel mailing list
[email protected]

To unsubscribe from this list, get a password
reminder, or change your subscription options,
visit the list information page at
https://mail.gna.org/listinfo/relax-devel

Reply via email to