3dsmax python json example

Kurz und bündig: Eine Liste an Daten, vorgegeben als json, soll in 3dsmax zu Objekteigenschaften benutzt werden. In meinem Fall historische Bitcoin-Daten (2012 bis 2017, zB bei coindesk zu finden), welche die Höhe der Boxes vorgeben.

1. Wie lade ich json-Daten in 3dsmax
2. wie erstelle ich Objekte mit gewissen Eigenschaften.

import json
 
mDays = [31,28,31,30,31,30,31,31,30,31,30,31]
 
# -- loading json is simple --
# -- take link above for according json-file
 
fileIN = open("c:/path/to/your/file/bitcoin_historical.json","r")
pythonData = json.loads(fileIN.read())
fileIN.close()
 
# -- now reading json data
# -- then creating box
# --> reading all values of a month and averaging them
# --> creating only box per month
 
positionX = 0
for year in range(2012,2018):
    for month in range(12):
        mo = str(month+1).zfill(2)
        avgVal = 0
        for day in range(mDays[month]):
            dy = str(day+1).zfill(2)
            sKey = str(year)+"-"+mo+"-"+dy
            avgVal += pythonData['bpi'][sKey]
            #print sKey, "=>",pythonData['bpi'][sKey]
        avgVal = avgVal/mDays[month]
        obj = MaxPlus.Factory.CreateGeomObject(MaxPlus.ClassIds.Box)
        obj.ParameterBlock.Width.Value = 20
        obj.ParameterBlock.Length.Value = 20
        obj.ParameterBlock.Height.Value = avgVal
        node = MaxPlus.Factory.CreateNode(obj)
        node.Position = MaxPlus.Point3(positionX, 0, 0)
        node.Name = str(year)+"-"+mo
        positionX = positionX +40

Displays über DPI am Raspberry Pi – Sharp LQ092B5DW01

Vorgedanken

Anfang 2017 wurde ich auf nen tweet von @fauthniklas aufmerksam, der ein ungewöhnliches Display am RaspberryPI betrieben hat. 9,7″ mit 960x160px. Sexy! Ungewöhnlich auch der Preis, das Ding wurde in der Pollin-Resterampe für knapp 3Eur rausgeworfen. Eigentlich ein Anzeichen dafür, es liegen zu lassen. Aber da eine Nutzung mit dem RPi nachgewiesenermaßen nicht so schwer sein sollte, hab ich mal 6 Stück bestellt.

Nun hab ich endlich mal Zeit gefunden, zusammenzusuchen, was nötig ist. Und ich hatte keinen Bock auf 0.5mm Lötpunkte (bin DAU in Sachen SMD). Ich nehme einen PiZeroW als Basis und dafür suchte ich nun Adapter von 40Pin Hirose 0.5mm auf 2.54mm. Logischerweise gefunden bei alibaba (Links unten). Alles andere sind dann Datenblätter, Verdrahtungspläne und Tipps im Netz bezüglich DPI auf dem Raspberry

„Displays über DPI am Raspberry Pi — Sharp LQ092B5DW01“ weiterlesen

preiswerte USB Sticks USB3 getestet 2016 2017

Benchmark mit Windows10, ATTO und AS SSD auf USB3.0 PCIE-Karte durchgeführt. „preiswerte USB Sticks USB3 getestet 2016 2017“ weiterlesen

Canon 5D Mark IV – Videosamples

Mit freundlicher Unterstützung und Genehmigung von georgius aus dem dslr-forum kann ich native Footage aus der 5DIV anbieten. Um mal den Rechner mit 4K mjpg anzutesten oder die Schärfe (aka reelle Auflösung) zu analysieren. „Canon 5D Mark IV — Videosamples“ weiterlesen

[Kodi] Aktuelles zum Thema

In den letzten Tagen war es recht bunt im Kodi-Forum meiner Wahl. Man hat mir ungesetzliches und amoralisches Handeln vorgeworfen, was sich bis zu einer Androhung auf Strafanzeige aufgeschaukelt hat. „[Kodi] Aktuelles zum Thema“ weiterlesen

gate und limit mit expand Funktion

..und da geb ich mal auf die Schnelle ne Funktion mit, die ich heute morgen brauchte. Supersimpel und supernützlich. Ein Eingangssignal(value) muss oben und unten gestutzt werden, gleichzeitig wird der interessante Werte-Bereich maximal gespreizt. Praktisch brauche ich sowas für die Amplitude eines Mikrofonsignals, um Grundrauschen/Nebensignale wegzuschneiden und maximale Lautstärken kontrollieren zu können. So in etwa sollte das aussehen. Eingangssignal grün, Ausgangswerte rot.
gate_limit_expand_example2
In wolfram alpha sieht das so aus:

plot[ (x-0.4)*(1/(0.55-0.4))),{x,0,1} ]

limit_gate_expand
Eine simple lineare Funktion mit neuer Steigung und verschobenem Nullpunkt. Logisch ist, dass die Werte unter 0 bzw. über dem Maximalwert einfach gestutzt werden. (siehe unten code) (Nebenbei: in wolfram alpha – Piecewise wird nur dem Pro-Account als Graph ausgegeben, aber so sollte es wohl aussehen)

plot[ Piecewise[ {0,x<0.1}, {{(x-0.1)*(1/(0.8-0.1))},x>0.1 AND x<(0.8)}, {1,x>0.8} ], {x,0,1}]

Drei „Funktionen“, unter dem Gate-Wert 0.1 = 0, im interessanten Bereich zwischen Gate 0.1 und Limit 0.8, und darüber 1. Plotbereich 0 bis 1.

Wenn man das für einen Wertebereich von 8bit (0-255) anwenden will, sind die Änderungen minimal.

plot[ (x-30)*(255/(180-30)),{x,0,255} ]

für wolfram alpha oder als Simpelstcode fürs Verständnis

gate = 30
limit =180

out = (in-gate) * (255/ (limit-gate))
if(out>255) out = 255
if(out<0) out = 0 

[win] [ffmpeg] Audio bearbeiten

Ich hatte ne Frage aus dem Freundeskreis. Wie kann man „nur“ die Audiodaten eines Videofiles (aus einem Smartphone) nachbessern. Grundsätzlich wäre alles mit irgendeiner Videoschnittapplikation verbunden, die auch die Videodaten beim Ausrendern verändern wird. Und wer ffmpeg kennt, weiss, dass damit alles geht 🙂 Da sollte auch Audiokorrektur gehen. „[win] [ffmpeg] Audio bearbeiten“ weiterlesen

5DSR gegen 5DIII D810 und 5D

Da hab ich echt übersehen, dass Lightroom CC die 5DS-Raws öffnen kann 🙂 Also mal auf die Schnelle Bilder von Imaging Resource runtergeladen und verglichen. Ich erspar mir Schlussfolgerungen, das könnt Ihr im Kommentar oder in den Foren ausklamüsern. Am Ende des Beitrags ist noch der Link zum Bilder-Set (jpg nativ und auf ~13Mpix normiert). Alle Bilder sind ohne Reglerveränderungen direkt aus Lightroom in nativer Größe jpg exportiert und in Photoshop zusammengestellt. jpg-Kompression betrug 90%.

ISO 100

5DSR_iso0100_Sharpness

5dsr iso100

ISO1600

5DSR_iso1600_Sharpness

5DSR_iso1600_SNR

ISO 6400

5DSR_iso6400_Sharpness

5DSR_iso6400_SNR

5DS, 5DIII, D810 – Runterskaliert auf 5D-Größe (4368px breit)

Scaling in Lightroom Export.

ISO 100

5DS_normalized_iso0100_Sharpness

5DS_normalized_iso0100_SNR

ISO 1600

5DS_normalized_iso1600_Sharpness

5DS_normalized_iso1600_SNR

Wem es noch nicht aufgefallen ist.. Die Skalierung in Lightroom ist deutlich homogener während die bikubische Verkleinerung in Photoshop sichtbar mehr Schärfe reinbringt (oder rausholt).

Scaling_Photoshop_Lightroom

Zu guter Letzt die umgewandelten Bilder als zip-Set. Man mags nicht glauben, schnöde 17 jpg-Bilder können nun auch ~210MB einnehmen. Hui. Ach ja, Hier ein Beispiel (ISO3200 3LW hochgezogen) für die „schöneren Daten in den Tiefen – da hat Canon wirklich nen Zahn zugelegt, die Noisepattern und der Chromateppich sind nahezu weg.

colorchart_greyvalues

Nachtrag: die übliche Betrachtung über die Glockenkurve im Photoshop-Tonwertdiagramm (Werte stellen die Breite in Helligkeitswerten/8Bit dar) Werde wohl mal nach dB oder LW umrechnen müssen, damit das was Aussagekräftiges wird. „low“ ist auf der Colorchart der 2. Grauwert von rechts, „18%“ 3. v Rechts, „light“ der 2. von Links.

Native Ausgabe (native) und (norm) normiert auf 13Mpix (Auflösung der 5d)

kind ISO Value 5D 5DIII 5DSR D810
native 100 low 2.04 2.17 3.27 2.41
18% 2.40 2.02 3.24 2.35
light 1.00 0.97 1.19 0.96
1600 low 7.53 6.43 9.97 7.79
18% 8.45 7.02 11.04 8.65
light 3.38 2.92 3.66 3.12
6400 low 13.21 19.98 15.44
18% 14.23 22.13 17.87
light 5.83 6.74 5.83
norm 100 low 2.04 1.74 2.12 1.81
18% 2.40 1.61 2.05 1.62
light 1.00 0.87 0.76 0.67
1600 low 7.53 4.80 5.27 4.98
18% 8.45 5.37 5.72 5.62
light 3.38 2.15 1.85 1.83

FTDI Prolific USB RS232 Wandler Problemchen

kurzer Blogeintrag. Ich muß häufiger mit seriellen Ports arbeiten und die sind als Solche doch eher selten onboard anzutreffen. Also USB-Interfaces kaufen. Um jetzt nicht von den großen Geräten zu reden (zB Moxa), nur kurz wichtige Infos zu den Billig-Interfaces.

  • FTDI ist Prolific vorzuziehen
  • ältere Prolific-Chips werden offiziell nicht mehr unterstützt – diese sind aber noch oft anzutreffen
  • wenn ihr nen Error 10 in Windows habt, sucht nach nem alten Treiber von 2008 – zB Hier
  • Ihr müsst jenen manuell installieren und dann aus den kompatiblen Treibern auswählen
  • Nochmal: Achtet beim Kauf auf nen FTDI-Chip. Eure Nerven werden es Euch danken.
  • Manchmal branden die Hersteller die Treiber um, am Ende ist es nur ne blöde PID, die den Originaltreiber verhindert. Suchen gehen

Links zu Treibern

alter Prolific Treiber von 2008 – bei Error 10 anzuwendenProlific Treiber 2015FTDI TreiberHama TreiberLogilink 4x RS232Digitus USB RS232 TreiberDeLock RS232 Treiber

Musical RoundUp 2014 [de]

Hohaa. Ich muß mich vor Allem bei jenen bedanken, die ihre Musik öffentlich und gratis zur Schau stellen. Danke liebes Netz, dass ich in diese schiere Menge reinhören darf. Was hat mich nun dieses Jahr wirklich betört? „Musical RoundUp 2014 [de]“ weiterlesen